ajax done (todo: clean up)

This commit is contained in:
mahdahar 2024-11-19 16:25:01 +07:00
parent 7e29b02921
commit 7a530dafd2
4 changed files with 86 additions and 65 deletions

View File

@ -19,7 +19,6 @@ $routes->post('/tubes/comment/(:any)/(:any)', 'Tubes::comment/$1/$2');
// Userroles // Userroles
$routes->get('/userroles/', 'Userroles::index'); $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/create', 'Userroles::edit/0');
$routes->match(['get','post'],'/userroles/edit/(:any)', 'Userroles::edit/$1'); $routes->match(['get','post'],'/userroles/edit/(:any)', 'Userroles::edit/$1');
@ -38,4 +37,6 @@ $routes->match(['get','post'], '/auth/login', 'Auth::login');
$routes->match(['get','post'], '/auth/setpass/(:any)', 'Auth::setpass/$1'); $routes->match(['get','post'], '/auth/setpass/(:any)', 'Auth::setpass/$1');
// API // API
$routes->get('/api/userroles/index', 'Api::userroles_index'); $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');

View File

@ -16,6 +16,15 @@ class Api extends ResourceController {
return $this->respond($data, 200); return $this->respond($data, 200);
} }
public function userroles_detail($userroleid) {
$db = \Config\Database::connect();
$sql = "select * from cmod.dbo.CM_USERROLES where USERROLEID='$userroleid'";
$query = $db->query($sql);
$results = $query->getResultArray();
$data = $results[0];
return $this->respond($data, 200);
}
public function userroles_edit($userroleid) { public function userroles_edit($userroleid) {
$db = \Config\Database::connect(); $db = \Config\Database::connect();
$sql = "select * from cmod.dbo.CM_USERROLES where USERROLEID='$userroleid'"; $sql = "select * from cmod.dbo.CM_USERROLES where USERROLEID='$userroleid'";
@ -25,4 +34,26 @@ class Api extends ResourceController {
return $this->respond($data, 200); return $this->respond($data, 200);
} }
public function userroles_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())";
} else { //update
$sql = "UPDATE cmod.dbo.CM_USERROLES set USERROLENAME='$userrolename', USERROLECODE='$userrolecode' where USERROLEID='$userroleid'";
}
if( $db->query($sql) ) {
return $this->respond(['message' => 'Save Success'],201);
} else {
$response = [
'errors' => $db->errors(),
'message' => 'Invalid Inputs'
];
return $this->fail($response , 409);
}
}
} }

View File

@ -7,39 +7,5 @@ class Userroles extends BaseController {
public function index(): string { public function index(): string {
return view('userroles_index'); return view('userroles_index');
} }
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);
}
}
} }

View File

@ -31,10 +31,9 @@
<div class="modal-body" style='background-color:#F4F6FF'> <div class="modal-body" style='background-color:#F4F6FF'>
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<input type='hidden' id='userroleid' value='' />
<table class="table table-sm table-borderless"> <table class="table table-sm table-borderless">
<tr class="align-middle"> <th>User Role Code</th> <th>:</th> <tr class="align-middle"> <th>User Role Code</th> <th>:</th> <td><input class='form-control' type='text' id='userrolecode' oninput='this.value = this.value.toUpperCase();'/></td> </tr>
<td><input class='form-control' type='text' id='userrolecode' oninput='this.value = this.value.toUpperCase();'/></td>
</tr>
<tr class="align-middle"> <th>User Role Name</th> <th>:</th> <td><input class='form-control' type='text' id='userrolename'/></td> </tr> <tr class="align-middle"> <th>User Role Name</th> <th>:</th> <td><input class='form-control' type='text' id='userrolename'/></td> </tr>
</table> </table>
<button class='btn btn-sm btn-primary' onclick='save()'>Save</button> <button class='btn btn-sm btn-primary' onclick='save()'>Save</button>
@ -49,27 +48,50 @@
<?= $this->section('script') ?> <?= $this->section('script') ?>
<script> <script>
index();
function index() {
let url = '<?=base_url('');?>api/userroles/index';
$.ajax({
url: url,
method: 'GET',
success: function(response) {
$("#table-body").html("");
var data = response['userroles'];
for (var i = 0; i < data.length; i++) {
let editBtn = '<button class="btn btn-sm btn-success" ' + ' onclick="edit(' + data[i].USERROLEID + ')">Edit' + '</button> ';
//let deleteBtn = '<button class="btn btn-sm btn-danger" ' + ' onclick="delete(' + data[i].USERROLEID + ')">Delete' + '</button>';
let datarow = '<tr class="align-middle">' +
'<td>' + data[i].USERROLEID + '</td>' + '<td>' + data[i].USERROLECODE+ '</td>' + '<td>' + data[i].USERROLENAME+ '</td>' + '<td>' + editBtn + '</td>' +
'</tr>';
$("#table-body").append(datarow);
}
},
error: function(response) { console.log(response.responseJSON); }
});
}
function create() { function create() {
$("#alert-div").html(""); $("#alert-div").html("");
$("#error-div").html(""); $("#error-div").html("");
$("#update_id").val(""); $("#userroleid").val("0");
$("#userrolecode").val(""); $("#userrolecode").val("");
$("#userrolename").val(""); $("#userrolename").val("");
$("#modal_crud").modal('show'); $("#modal_crud").modal('show');
} }
function edit(userroleid) { function edit(userroleid) {
let url = '<?=base_url('');?>api/userroles/'+userroleid ; let url = '<?=base_url('');?>api/userroles/detail/'+userroleid ;
$.ajax({ $.ajax({
url: url, url: url,
method: "GET", method: "GET",
success: function(response) { success: function(response) {
let data = response let data = response;
$("#alert-div").html(""); $("#alert-div").html("");
$("#error-div").html(""); $("#error-div").html("");
$("#update_userroleid").val(userroleid); $("#userroleid").val(userroleid);
$("#userrolecode").val(userrolecode); $("#userrolecode").val(data.USERROLECODE);
$("#userrolename").val(data.userrolename); $("#userrolename").val(data.USERROLENAME);
$("#modal_crud").modal('show'); $("#modal_crud").modal('show');
}, },
error: function(response) { error: function(response) {
@ -78,29 +100,30 @@ function edit(userroleid) {
}); });
} }
fetchData(); function save() {
function fetchData() { var userroleid = $("#userroleid").val();
let url = '<?=base_url('');?>api/userroles/index'; var userrolecode = $("#userrolecode").val();
var userrolename = $("#userrolename").val();
//console.log(userroleid+' '+userrolecode+' '+userrolename);
let url = '<?=base_url('');?>api/userroles/save/'+userroleid ;
let data = { userroleid: userroleid, userrolecode: userrolecode, userrolename: userrolename };
$.ajax({ $.ajax({
url: url, url: url,
method: 'get', method: "POST",
data: data,
success: function(response) { success: function(response) {
$("#table-body").html(""); console.log(response);
var data = response['userroles']; $("#alert-div").html("");
console.log(data); $("#error-div").html("");
for (var i = 0; i < data.length; i++) { $("#userroleid").val("");
let editBtn = '<button class="btn btn-sm btn-success" ' + ' onclick="edit(' + data[i].USERROLECODE + ')">Edit' + '</button> '; $("#userrolecode").val("");
let deleteBtn = '<button class="btn btn-sm btn-danger" ' + ' onclick="delete(' + data[i].USERROLECODE + ')">Delete' + '</button>'; $("#userrolename").val("");
index();
let datarow = '<tr class="align-middle">' + $("#modal_crud").modal('hide');
'<td>' + data[i].USERROLEID + '</td>' + '<td>' + data[i].USERROLECODE+ '</td>' + '<td>' + data[i].USERROLENAME+ '</td>' + '<td>' + editBtn + deleteBtn + '</td>' + },
'</tr>'; error: function(response) {
$("#table-body").append(datarow);
}
},
error: function(response) {
console.log(response.responseJSON) console.log(response.responseJSON)
} }
}); });
} }
</script> </script>