fix dict-text, change session to userrolecode, start to work on role and perm

This commit is contained in:
mahdahar 2024-11-28 12:53:52 +07:00
parent 8fc837508f
commit 306548909f
5 changed files with 43 additions and 46 deletions

View File

@ -23,11 +23,6 @@ $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');
// Dashboard
$routes->get('/api/dashboard/index', 'Dashboard::index');
// DICT_TESTS
$routes->get('/dict_tests/', 'Dict_tests::index');
// Auth
$routes->get('/auth/logout', 'Auth::logout');
@ -35,6 +30,9 @@ $routes->get('/auth/loginTD', 'Auth::loginTD');
$routes->match(['get','post'], '/auth/login', 'Auth::login');
$routes->match(['get','post'], '/auth/setpass/(:any)', 'Auth::setpass/$1');
// API - Dashboard
$routes->get('/api/dashboard/index', 'Dashboard::index');
// API - Userroles
$routes->get('/api/userroles/index', 'Userroles::index');
$routes->get('/api/userroles/detail/(:any)', 'Userroles::detail/$1');
@ -48,5 +46,6 @@ $routes->post('/api/users/saveRole/(:any)', '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');

View File

@ -18,10 +18,11 @@ class Auth extends BaseController {
$data['password'] = $password;
$db = \Config\Database::connect();
$sql = "SELECT u.USERID, u.USERNAME, u.USERINITIALS, u1.PASSWORD
FROM USERS u
left join cmod.dbo.CM_USERS u1 on u.USERID=u1.USERID
WHERE u.USERID='$userid'";
$sql = "SELECT u.USERID, u.USERNAME, u1.PASSWORD, ur.USERROLECODE
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
WHERE u.USERID='$userid'";
$query = $db->query($sql);
$result = $query->getResultArray();
$row = $result[0];
@ -29,7 +30,7 @@ class Auth extends BaseController {
$qpassword = $row['PASSWORD'];
$userid = $row['USERID'];
$username = $row['USERNAME'];
$userinitials = $row['USERINITIALS'];
$userrole = $row['USERROLECODE'];
// if pass empty then first login / reset password
$data['password']=$password;
$data['qpassword']=$qpassword;
@ -48,7 +49,7 @@ class Auth extends BaseController {
}
$sessiondata = [
'userid' => $userid,
'userinitials' => $userinitials,
'userrole' => $userrole,
'username' => $username,
];
session()->set( $sessiondata );

View File

@ -43,25 +43,26 @@ class DictTests extends ResourceController {
}
public function detail($testcode) {
$data = array();
$db = \Config\Database::connect();
$sql = "select * from cmod.dbo.CM_DICT_TESTS where TESTCODE='$testcode'";
$query = $db->query($sql);
$results = $query->getResultArray();
$data = $results[0];
if(isset($results[0])) { $data = $results[0]; }
return $this->respond($data, 200);
}
public function save($testcode) {
public function save() {
$update = $this->request->getPost('update');
$testcode = $this->request->getPost('testcode');
$text1 = $this->request->getPost('text1');
$text2 = $this->request->getPost('text2');
$unit = $this->request->getPost('unit');
$refftext = $this->request->getPost('refftext');
$db = \Config\Database::connect();
if($testcode == 0) { // new
$sql = "INSERT INTO cmod.dbo.CM_DICT_TESTS (TESTCODE, TEXT1, TEXT2, REFFTEXT, LOGDATE ) VALUES ('$testcode', '$text1', '$text2', '$refftext' GETDATE())";
} else { //update
$sql = "UPDATE cmod.dbo.CM_DICT_TESTS set TEXT1='$text1', TEXT2='$text2', REFFTEXT='$refftext', LOGDATE=GETDATE() where TESTCODE='$testcode'";
}
$sql = "INSERT INTO cmod.dbo.CM_DICT_TESTS (TESTCODE, TEXT1, TEXT2, REFFTEXT, LOGDATE ) VALUES ('$testcode', '$text1', '$text2', '$refftext' GETDATE())";
$sql = "UPDATE cmod.dbo.CM_DICT_TESTS set TEXT1='$text1', TEXT2='$text2', REFFTEXT='$refftext', LOGDATE=GETDATE() where TESTCODE='$testcode'";
if( $db->query($sql) ) {
return $this->respond(['message' => 'Save Success'],201);

View File

@ -12,7 +12,7 @@
<div class='col-2'>Shorttext</div>
<div class='col-3'><input type='text' class='form-control form-control-sm' id='search_shorttext' oninput='this.value = this.value.toLowerCase();' /></div>
</div>
<button class='btn btn-primary' onclick='search()'>Search</button>
<button class='btn btn-sm btn-primary' onclick='search()'>Search</button>
</div>
</div>
@ -48,11 +48,12 @@
<div class="row">
<div class="col-12">
<table class="table table-sm table-borderless">
<input type='hidden' id='update' value='' />
<tr class="align-middle"> <th>Testcode</th> <th>:</th> <td><input class='form-control' type='text' id='testcode' oninput='this.value = this.value.toUpperCase();'/></td> </tr>
<input type='hidden' id='testcode' value='' />
<tr class="align-middle"> <th>Testcode</th> <th>:</th> <td id='testcodetext'></td> </tr>
<tr class="align-middle"> <th>Text 1</th> <th>:</th> <td><textarea class='form-control' id='text1'/></textarea></td> </tr>
<tr class="align-middle"> <th>Text 2</th> <th>:</th> <td><textarea class='form-control' id='text2'/></textarea></td> </tr>
<tr class="align-middle"> <th>Reff.</th> <th>:</th> <td><textarea class='form-control' id='text2'/></textarea></td> </tr>
<tr class="align-middle"> <th>Unit</th> <th>:</th> <td><textarea class='form-control' id='unit'/></textarea></td> </tr>
<tr class="align-middle"> <th>Reff.</th> <th>:</th> <td><textarea class='form-control' id='refftext'/></textarea></td> </tr>
</table>
<button class='btn btn-sm btn-primary' onclick='save()'>Save</button>
<button class='btn btn-sm btn-secondary' data-bs-dismiss="modal">Cancel</button>
@ -105,17 +106,6 @@ function search() {
});
}
function create() {
$("#alert-div").html("");
$("#error-div").html("");
$("#update").val("");
$("#testcode").val("");
$("#testcode").prop('disabled', false);
$("#text1").val("");
$("#text2").val("");
$("#modal_crud").modal('show');
}
function edit(testcode) {
let url = '<?=base_url('');?>api/dictTests/detail/'+testcode;
$.ajax({
@ -126,10 +116,11 @@ function edit(testcode) {
$("#alert-div").html("");
$("#error-div").html("");
$("#testcode").val(testcode);
$("#testcode").prop('disabled', true);
$("#testcodetext").html(testcode);
$("#update").val('1');
$("#text1").val(data.TEXT1);
$("#text2").val(data.TEXT2);
$("#unit").val(data.UNIT);
$("#refftext").val(data.REFFTEXT);
$("#modal_crud").modal('show');
},
@ -140,28 +131,35 @@ function edit(testcode) {
}
function saveTests() {
var update = $("#update").val();
function save() {
let url = '<?=base_url('');?>api/dictTests/save';
var testcode = $("#testcode").val();
var text1 = $("#text1").val();
var text2 = $("#text2").val();
let url = '<?=base_url('');?>api/dictTests/save/'+testcode;
let data = { update: update, testcode: testcode, text1:text1, text2:text2, refftext:refftext };
var unit = $("#unit").val();
var refftext = $("#refftext").val();
let data = { testcode: testcode, text1:text1, text2:text2, unit:unit, refftext:refftext };
$.ajax({
url: url,
method: "POST",
data: data,
success: function(response) {
$("#alertPass").html("");
$("#useridRole").val("");
$("#userroleid").val("");
$("#modal_editRole").modal('hide');
index();
$("#alert-div").html("");
$("#error-div").html("");
$("#testcode").val('');
$("#text1").val('');
$("#text2").val('');
$("#refftext").val('');
$("#unit").val('');
$("#modal_crud").modal('hide');
search();
},
error: function(response) {
console.log(response.responseJSON)
}
});
}
</script>
<?= $this->endSection() ?>

View File

@ -7,14 +7,12 @@
<a class="nav-link" href="<?=base_url();?>changePass/"><div class="sb-nav-link-icon"><i class="bi bi-key"></i></div>Change Password</a>
<div class="sb-sidenav-menu-heading">Administration</div>
<a class="nav-link" href="<?=base_url();?>dictTests/"> <div class="sb-nav-link-icon"><i class="bi bi-journal-album"></i></div> Dict. Test </a>
<a class="nav-link" href="<?=base_url();?>dictTestOrder/"> <div class="sb-nav-link-icon"><i class="bi bi-journal-album"></i></div> Dict. Test Order </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 class="sb-sidenav-footer">
<div class="small">Logged in as:</div>
Analis Lab
</div>
</nav>
</div>