broken shit move to ajax
This commit is contained in:
parent
a14aa652a7
commit
743c21dd9a
@ -17,6 +17,12 @@ $routes->get('/tubes/unreceive/(:any)/(:any)', 'Tubes::unreceive/$1/$2');
|
|||||||
$routes->get('/tubes/unreceiveAll/(:any)', 'Tubes::unreceiveAll/$1');
|
$routes->get('/tubes/unreceiveAll/(:any)', 'Tubes::unreceiveAll/$1');
|
||||||
$routes->post('/tubes/comment/(:any)/(:any)', 'Tubes::comment/$1/$2');
|
$routes->post('/tubes/comment/(:any)/(:any)', 'Tubes::comment/$1/$2');
|
||||||
|
|
||||||
|
// Userroles
|
||||||
|
$routes->get('/userroles/', 'Userroles::index');
|
||||||
|
$routes->get('/userroles/fetchAll', 'Userroles::fetchAll');
|
||||||
|
$routes->match(['get','post'],'/userroles/create', 'Userroles::edit/0');
|
||||||
|
$routes->match(['get','post'],'/userroles/edit/(:any)', 'Userroles::edit/$1');
|
||||||
|
|
||||||
// Users
|
// Users
|
||||||
$routes->get('/users/', 'Users::index');
|
$routes->get('/users/', 'Users::index');
|
||||||
$routes->match(['get','post'], '/users/editRole/(:any)', 'Users::editRole/$1');
|
$routes->match(['get','post'], '/users/editRole/(:any)', 'Users::editRole/$1');
|
||||||
|
|||||||
92
app/Controllers/Userroles.php
Normal file
92
app/Controllers/Userroles.php
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Controllers;
|
||||||
|
|
||||||
|
class Userroles extends BaseController {
|
||||||
|
|
||||||
|
public function index(): string {
|
||||||
|
return view('userroles_index');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function fetchAll() {
|
||||||
|
$db = \Config\Database::connect();
|
||||||
|
$sql = "select * from cmod.dbo.CM_USERROLES";
|
||||||
|
$query = $db->query($sql);
|
||||||
|
$results = $query->getResultArray();
|
||||||
|
$userroles = $results;
|
||||||
|
|
||||||
|
$data = "
|
||||||
|
<button class='btn btn-sm btn-success mx-3 my-2 create'><i class='bi bi-plus-circle'></i> Create New</button>
|
||||||
|
<div class=\"table-responsive\">
|
||||||
|
<table id=\"table_dashboard\" class=\"table\">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>#</th>
|
||||||
|
<th>Code</th>
|
||||||
|
<th>Name</th>
|
||||||
|
<th>Action</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
";
|
||||||
|
$i = 1;
|
||||||
|
foreach ($userroles as $qdata) {
|
||||||
|
$userrolecode = $qdata['USERROLECODE'];
|
||||||
|
$userrolename = $qdata['USERROLENAME'];
|
||||||
|
$data.= "
|
||||||
|
<tr class=\"table-row\">
|
||||||
|
<td>$i</td>
|
||||||
|
<td>$userrolecode</td>
|
||||||
|
<td>$userrolename</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
<button class='badge text-bg-warning edit' data-userrolecode='$userrolecode'>edit</button>
|
||||||
|
</td>
|
||||||
|
</tr>";
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
$data .= "
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>";
|
||||||
|
return $this->response->setJSON([
|
||||||
|
'error' => false,
|
||||||
|
'message' => $data
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function edit($userrolecode) {
|
||||||
|
$db = \Config\Database::connect();
|
||||||
|
$data = array();
|
||||||
|
$data['userrolecode'] = $userrolecode;
|
||||||
|
if ($this->request->getMethod() == 'POST') {
|
||||||
|
$request = service('request');
|
||||||
|
$jsonData = $request->getJSON();
|
||||||
|
$quserrolecode = $jsonData->userrolecode;
|
||||||
|
$quserrolename = $jsonData->userrolename;
|
||||||
|
if($userrolecode == 0) { $sql = "INSERT INTO cmod.dbo.CM_USERROLES(USERROLECODE, USERROLENAME, CREATEDATE) VALUES ('$quserrolecode', '$quserrolename', GETDATE())"; }
|
||||||
|
else { $sql = "UPDATE cmod.dbo.CM_USERROLES set USERROLENAME='$quserrolename' where USERROLECODE='$quserrolecode'"; }
|
||||||
|
$query = $db->query($sql);
|
||||||
|
}
|
||||||
|
if ($this->request->getMethod() == 'POST') {
|
||||||
|
$quserrolecode = $this->input->post('userrolecode');
|
||||||
|
$quserrolename = $this->input->post('userrolename');
|
||||||
|
if($userrolecode == 0) {
|
||||||
|
$sql = "INSERT INTO cmod.dbo.CM_USERROLES(USERROLECODE, USERROLENAME, CREATEDATE) VALUES ('$userrolecode','$userrolename', GETDATE())";
|
||||||
|
$query = $db->query($sql);
|
||||||
|
} else {
|
||||||
|
$sql = "update cmod.dbo.CM_USERROLES set USERROLENAME='$userrolename' where USERROLECODE='$userrolecode'";
|
||||||
|
$query = $db->query($sql);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if($userrolecode != 0) {
|
||||||
|
$sql = "select * from cmod.dbo.CM_USERROLES where USERROLECODE='$userrolecode'";
|
||||||
|
$query = $db->query($sql);
|
||||||
|
$results = $query->getResultArray();
|
||||||
|
$data['userrolename'] = $results[0]['USERROLENAME'];
|
||||||
|
}
|
||||||
|
return view('userroles_edit', $data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -3,24 +3,17 @@
|
|||||||
namespace App\Controllers;
|
namespace App\Controllers;
|
||||||
|
|
||||||
class Users extends BaseController {
|
class Users extends BaseController {
|
||||||
|
|
||||||
public function __construct() {
|
|
||||||
$this->userrole = array(
|
|
||||||
"0" => "superuser",
|
|
||||||
"1" => "analyst",
|
|
||||||
"2" => "phlebotomist"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function index(): string {
|
public function index(): string {
|
||||||
$db = \Config\Database::connect();
|
$db = \Config\Database::connect();
|
||||||
$sql = "select u.USERID, u.USERNAME, u1.USERROLEID from cmod.dbo.CM_USERS u1
|
$sql = "select u.USERID, u.USERNAME, u1.USERROLECODE from cmod.dbo.CM_USERS u1
|
||||||
full join USERS u on u.USERID=u1.USERID
|
full join USERS u on u.USERID=u1.USERID
|
||||||
where ( u.LOCKEDACCOUNT is null or u.LOCKEDACCOUNT=0 )";
|
where ( u.LOCKEDACCOUNT is null or u.LOCKEDACCOUNT=0 )";
|
||||||
$query = $db->query($sql);
|
$query = $db->query($sql);
|
||||||
$results = $query->getResultArray();
|
$results = $query->getResultArray();
|
||||||
|
|
||||||
$data['users'] = $results;
|
$data['users'] = $results;
|
||||||
|
$data['userrole'] = $this->userrole;
|
||||||
return view('users_index', $data);
|
return view('users_index', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -28,18 +21,18 @@ class Users extends BaseController {
|
|||||||
if ($this->request->getMethod() == 'POST') {
|
if ($this->request->getMethod() == 'POST') {
|
||||||
$request = service('request');
|
$request = service('request');
|
||||||
$jsonData = $request->getJSON();
|
$jsonData = $request->getJSON();
|
||||||
$userroleid = $jsonData->userroleid;
|
$userrolecode = $jsonData->userrolecode;
|
||||||
$db = \Config\Database::connect();
|
$db = \Config\Database::connect();
|
||||||
$sql = "if (not exists (select * from cmod.dbo.CM_USERS where USERID='$userid')) BEGIN
|
$sql = "if (not exists (select * from cmod.dbo.CM_USERS where USERID='$userid')) BEGIN
|
||||||
INSERT INTO cmod.dbo.CM_USERS(USERID, USERROLEID, CREATEDATE) VALUES
|
INSERT INTO cmod.dbo.CM_USERS(USERID, USERROLECODE, CREATEDATE) VALUES
|
||||||
('$userid','$userroleid', GETDATE())
|
('$userid','$userrolecode', GETDATE())
|
||||||
END ELSE BEGIN
|
END ELSE BEGIN
|
||||||
UPDATE cmod.dbo.CM_USERS set USERROLEID='$userroleid' where USERID='$userid'
|
UPDATE cmod.dbo.CM_USERS set USERROLECODE='$userrolecode' where USERID='$userid'
|
||||||
END";
|
END";
|
||||||
$query = $db->query($sql);
|
$query = $db->query($sql);
|
||||||
} else {
|
} else {
|
||||||
$db = \Config\Database::connect();
|
$db = \Config\Database::connect();
|
||||||
$sql = "select u.USERID, u.USERNAME, u1.USERROLEID from cmod.dbo.CM_USERS u1
|
$sql = "select u.USERID, u.USERNAME, u1.USERROLECODE from cmod.dbo.CM_USERS u1
|
||||||
full join USERS u on u.USERID=u1.USERID
|
full join USERS u on u.USERID=u1.USERID
|
||||||
where u.USERID='$userid'";
|
where u.USERID='$userid'";
|
||||||
$query = $db->query($sql);
|
$query = $db->query($sql);
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
<div class="sb-sidenav-menu-heading">Administration</div>
|
<div class="sb-sidenav-menu-heading">Administration</div>
|
||||||
<a class="nav-link" href="#"> <div class="sb-nav-link-icon"><i class="fas bi-journal-album"></i></div> Dictionary Test </a>
|
<a class="nav-link" href="#"> <div class="sb-nav-link-icon"><i class="fas bi-journal-album"></i></div> Dictionary Test </a>
|
||||||
<a class="nav-link" href="<?=base_url();?>users/"> <div class="sb-nav-link-icon"><i class="bi bi-person-circle"></i></div> Users </a>
|
<a class="nav-link" href="<?=base_url();?>users/"> <div class="sb-nav-link-icon"><i class="bi bi-person-circle"></i></div> Users </a>
|
||||||
|
<a class="nav-link" href="<?=base_url();?>userroles/"> <div class="sb-nav-link-icon"><i class="bi bi-person-lock"></i></div> User Roles </a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="sb-sidenav-footer">
|
<div class="sb-sidenav-footer">
|
||||||
|
|||||||
39
app/Views/userroles_edit.php
Normal file
39
app/Views/userroles_edit.php
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
if(!isset($userrolename)) { $userrolename = ''; }
|
||||||
|
?>
|
||||||
|
<div class="modal-header">
|
||||||
|
<h1 class="modal-title fs-5" id="exampleModalToggleLabel">Edit UserRoles</h1>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="modal" ></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body" style='background-color:#F4F6FF'>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<table class="table table-sm table-borderless">
|
||||||
|
<tr class="align-middle"> <th>User Role Code</th> <th>:</th>
|
||||||
|
<?php
|
||||||
|
if($userrolecode==0) { echo "<td><input class='form-control' type='text' id='userrolecode' oninput='this.value = this.value.toUpperCase();'/></td> "; }
|
||||||
|
else { echo "<td><input class='form-control' type='text' value='$userrolecode' disabled/></td> <input type='hidden' id='userrolecode' value='$userrolecode'>"; }
|
||||||
|
?>
|
||||||
|
</tr>
|
||||||
|
<tr class="align-middle"> <th>User Role Name</th> <th>:</th> <td><input class='form-control' type='text' id='userrolename' value='<?=$userrolename;?>' /></td> </tr>
|
||||||
|
</table>
|
||||||
|
<button class='btn btn-sm btn-primary' onclick='save("<?=$userrolecode;?>")'>Save</button>
|
||||||
|
<button class='btn btn-sm btn-secondary' data-bs-dismiss="modal">Cancel</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
function save(userid) {
|
||||||
|
const userrolecode = $("#userrolecode").val();
|
||||||
|
const userrolename = $("#userrolename").val();
|
||||||
|
const url = '<?=base_url();?>userroles/edit/<?=$userrolecode?>';
|
||||||
|
console.log(url+' '+userrolecode+' '+userrolename);
|
||||||
|
fetch(url, {
|
||||||
|
method: "POST",
|
||||||
|
body: JSON.stringify({ userrolecode : userrolecode, userrolename : userrolename }),
|
||||||
|
headers: { "Content-type": "application/json; charset=UTF-8" }
|
||||||
|
})
|
||||||
|
.catch(error => { console.error('Error:',error); });
|
||||||
|
$('#modal').modal('toggle');
|
||||||
|
}
|
||||||
|
</script>
|
||||||
43
app/Views/userroles_index.php
Normal file
43
app/Views/userroles_index.php
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<?= $this->extend('layouts/main.php') ?>
|
||||||
|
|
||||||
|
<?= $this->section('content') ?>
|
||||||
|
<div class="card border-0">
|
||||||
|
<div class="body-card">
|
||||||
|
<div id='show_data'>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal fade" id="modal" aria-hidden="true" tabindex="-1">
|
||||||
|
<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable">
|
||||||
|
<div class="modal-content">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?= $this->endSection() ?>
|
||||||
|
|
||||||
|
<?= $this->section('script') ?>
|
||||||
|
<script>
|
||||||
|
$('.create').on('click',function(){
|
||||||
|
var userrolecode = $(this).data('userrolecode');
|
||||||
|
$('.modal-content').load('<?=base_url();?>userroles/create/', function(){
|
||||||
|
$('#modal').modal('show');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.edit').on('click',function(){
|
||||||
|
var userrolecode = $(this).data('userrolecode');
|
||||||
|
$('.modal-content').load('<?=base_url();?>userroles/edit/'+userrolecode, function(){
|
||||||
|
$('#modal').modal('show');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
fetchData();
|
||||||
|
function fetchData() {
|
||||||
|
$.ajax({
|
||||||
|
url: '<?=base_url('');?>userroles/fetchAll',
|
||||||
|
method: 'get',
|
||||||
|
success: function(response) { $("#show_data").html(response.message); }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<?= $this->endSection() ?>
|
||||||
@ -18,7 +18,8 @@ $userroleid = $users[0]['USERROLEID'];
|
|||||||
<select class='form-control' id='userroleid'>
|
<select class='form-control' id='userroleid'>
|
||||||
<?php
|
<?php
|
||||||
foreach($userroles as $quserroleid => $quserrole) {
|
foreach($userroles as $quserroleid => $quserrole) {
|
||||||
echo "<option value='$quserroleid'>$quserrole</option>";
|
if($userroleid == $quserroleid) { echo "<option value='$quserroleid' selected>$quserrole</option>"; }
|
||||||
|
else { echo "<option value='$quserroleid'>$quserrole</option>"; }
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</select>
|
</select>
|
||||||
@ -34,15 +35,16 @@ $userroleid = $users[0]['USERROLEID'];
|
|||||||
function save(userid) {
|
function save(userid) {
|
||||||
// Assuming your select element has an ID of "mySelect"
|
// Assuming your select element has an ID of "mySelect"
|
||||||
const userroleid = $("#userroleid").val();
|
const userroleid = $("#userroleid").val();
|
||||||
|
const userroletext = $("#userroleid").find(":selected").text();
|
||||||
const url = '<?=base_url();?>users/editRole/'+userid;
|
const url = '<?=base_url();?>users/editRole/'+userid;
|
||||||
console.log(url+' '+userroleid);
|
console.log(url+' '+userroleid+' '+userroletext);
|
||||||
fetch(url, {
|
fetch(url, {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
body: JSON.stringify({ userroleid : userroleid }),
|
body: JSON.stringify({ userroleid : userroleid }),
|
||||||
headers: { "Content-type": "application/json; charset=UTF-8" }
|
headers: { "Content-type": "application/json; charset=UTF-8" }
|
||||||
})
|
})
|
||||||
.then(response => {return response.text()})
|
|
||||||
.then(data => console.log(data))
|
|
||||||
.catch(error => { console.error('Error:',error); });
|
.catch(error => { console.error('Error:',error); });
|
||||||
|
$('#modal').modal('toggle');
|
||||||
|
$('#userrole'+userid).html(userroletext);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -20,13 +20,12 @@
|
|||||||
foreach ($users as $data) {
|
foreach ($users as $data) {
|
||||||
$userid = $data['USERID'];
|
$userid = $data['USERID'];
|
||||||
$username = $data['USERNAME'];
|
$username = $data['USERNAME'];
|
||||||
$userroleid = $data['USERROLEID'];
|
$userrolecode = $data['USERROLECODE'];
|
||||||
?>
|
?>
|
||||||
<tr class="table-row">
|
<tr class="table-row">
|
||||||
<td><?=$i;?></td>
|
<td><?=$i;?></td>
|
||||||
<td><?=$userid;?></td>
|
<td><?=$userid;?></td>
|
||||||
<td><?=$username;?></td>
|
<td><?=$username;?></td>
|
||||||
<td><?=$userroleid;?></td>
|
|
||||||
<td>
|
<td>
|
||||||
<button class='badge text-bg-dark editRole' data-bs-toggle="modal" data-bs-target="#modal" data-userid='<?=$userid;?>'>edit role</button>
|
<button class='badge text-bg-dark editRole' data-bs-toggle="modal" data-bs-target="#modal" data-userid='<?=$userid;?>'>edit role</button>
|
||||||
<button class='badge text-bg-warning editPass' data-userid='<?=$userid;?>'>edit password</button>
|
<button class='badge text-bg-warning editPass' data-userid='<?=$userid;?>'>edit password</button>
|
||||||
@ -64,6 +63,7 @@ $('.editPass').on('click',function(){
|
|||||||
$('#modal').modal('show');
|
$('#modal').modal('show');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.editRole').on('click',function(){
|
$('.editRole').on('click',function(){
|
||||||
var userid = $(this).data('userid');
|
var userid = $(this).data('userid');
|
||||||
$('.modal-content').load('<?=base_url();?>users/editRole/'+userid , function(){
|
$('.modal-content').load('<?=base_url();?>users/editRole/'+userid , function(){
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user