$("#btnSave").on('click',function(e){ e.preventDefault(); data_id = $('#data-id').val(); let url = parseInt(data_id) === 0 ? save_url : update_url; $.ajax({ url: url, type:"POST", data :{ "_token": csrf_token, uid : data_id, name_en: $('#name-en').val(), organization_ids: $('#lab-ids').val() }, success:function(res){ handleMessage(res.success, res.message) if(res.success) setTimeout(function () {location.reload()}, messageDuration) }, }); }); function delete_lab(uid){ Swal.fire({ text: confirm_delete_record, icon: 'question', showCancelButton: true, cancelButtonClass:'danger', confirmButtonText: confirm_ok_delete, cancelButtonText: confirm_cancel }).then((result) => { if (result.value) { $.ajax({ url: delete_url, method:'POST', data:{ "_token": csrf_token, uid : uid, }, success:function(res){ handleMessage(res.success, res.message) if(res.success) setTimeout(function () {location.reload()}, messageDuration) } }) } }); } function restore_lab(uid){ Swal.fire({ text: confirm_restore_record, icon: 'question', showCancelButton: true, cancelButtonClass:'danger', confirmButtonText: confirm_ok_restore, cancelButtonText: confirm_cancel_restore, }).then((result) => { if (result.value) { $.ajax({ url: restore_url, method:'POST', data:{ "_token": csrf_token, uid : uid, }, success:function(res){ handleMessage(res.success, res.message) if(res.success) setTimeout(function () {location.reload()}, messageDuration) } }) } }); } $('#modal-role').on('show.bs.modal', function (event) { var button = $(event.relatedTarget) // Button that triggered the modal var action = button.data('action') // Extract info from data-* attributes var modal = $(this); if(action === "new"){ // Clear inputs modal.find('.modal-body input').val(""); modal.find('.modal-body input[name="uid"]').val(0); modal.find('.modal-title').html(modal_add_title); }else if(action === "edit"){ uid = button.data('uid'); modal.find('.modal-body input[name="uid"]').val(uid); modal.find('.modal-title').html(modal_edit_title); $.ajax({ url: get_url, type:"POST", data:{ "_token": csrf_token, uid: uid, }, success:function(res){ let data = res.data; modal.find('.modal-body input[name="name_en"]').val(data.name_en); modal.find('.modal-body input[name="name_kh"]').val(data.name_kh); if(!res.success) handleMessage(res.success, res.message) }, error: function(response) { }, }); } }) $('#modal-role-permission').on('show.bs.modal', function (event) { var button = $(event.relatedTarget) // Button that triggered the modal uid = button.data('uid'); $('#role-id').val(uid) name = button.data('name'); $('#modal-role-permission .modal-title').text(name) $.ajax({ url: system_url + '/role-permission/'+uid, type:"get", success:function(res){ if(res.success){ $('#modal-role-permission #role-permission').empty() let permissions = res.data for (var i in permissions){ let permission_group = permissions[i]; group_permissions(permission_group) // for sub group permission_group.permissions.map(item => { for(j in item){ if(item[j].permissions){ group_permissions(item[j], '4') } } }) } } else handleMessage(res.success, res.message) }, error: function(response) { }, }); }) function group_permissions(permission, level = 0) { let group_permission = document.createElement('DIV') group_permission.classList.add('col-sm-12', 'pl-'+level) group_permission.style.border="1px dashed gray;" let permission_group_name = document.createElement('h6'); permission_group_name.classList.add('my-3', 'font-14', 'text-info'); permission_group_name.innerHTML = permission.name group_permission.append(permission_group_name) group_permission.append(permissions(permission)) $('#modal-role-permission #role-permission').append(group_permission) } function permissions(permission) { let permissions = document.createElement('DIV') permissions.classList.add('row') permission.permissions.map(item => { permissions.append(permissionElement(item)) }) return permissions } function permissionElement(item) { if(item.name == '') return ''; let singlePermission = document.createElement('div') singlePermission.classList.add('col-sm-12','bg-white','rounded','px-4','col-md-12','col-lg-12','col-xl-12','border','border-white') singlePermission.innerHTML = '
'; return singlePermission; }