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
$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');
@ -39,3 +38,5 @@ $routes->match(['get','post'], '/auth/setpass/(:any)', 'Auth::setpass/$1');
// API
$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);
}
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) {
$db = \Config\Database::connect();
$sql = "select * from cmod.dbo.CM_USERROLES where USERROLEID='$userroleid'";
@ -25,4 +34,26 @@ class Api extends ResourceController {
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

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