$( document ).ready(function() { loaduserkaprodi(); }); function loaduserkaprodi(){ let isObject = {}; var dtpr = $('#data-list2').DataTable({ "order": [[ 0, "desc" ]], bPaginate : false, serverSide : true, destroy : true, bFilter : true, responsive : true, searching : false, pagingType : 'full', lengthMenu : [[1, 25, 50, -1], [1, 25, 50, "All"]], pageLength : 25, ajax : { url: baseURL + '/jsondata/loaduserkaprodi', type: 'POST', // async: false, data : function (d) { return $.extend( {}, d, { iparam : cryptoEncrypt(PHRASE, isObject), }); }, dataSrc: function(response) { if(response.code == CODE_SUCCESS){ response = cryptoDecrypt(PHRASE, response.data); return response.data.data; // console.log(response.data.data); }else{ return response; } } }, columns: [ { 'data': 'iduser', 'sClass':'','sWidth':'10px'}, { 'data': 'username', 'sClass':''}, { 'data': 'nama', 'sClass':''}, { 'data': 'nama_prodi', 'sClass':''}, { 'data': 'update_date', 'sClass':''}, { 'data': 'status', 'sClass':''}, ], // buttons: { buttons: [ // { // extend: 'colvis', // className: 'btn btn-default' // }, ], // }, processing: true, stateSave: false, autoWidth: false, dom: '<"datatable-header"fBl><"datatable-scroll-wrap"t><"datatable-footer"ip>', language: { search: '<span>Cari:</span> _INPUT_', lengthMenu: '<span>Show:</span> _MENU_', processing: "<div class='table-loading'><img src='../../img/loadingtwo.gif' /></div>", paginate: { 'first': 'First', 'last': 'Last', 'next': '→', 'previous': '←' } }, columnDefs: [ { width: '20px', targets: 0, visible: true }, { render: function (data, type, row){ $rowdata =''; if(data == 10){ $rowdata= `<span class="label label-info">Aktif<span>`; }else{ $rowdata= `<span class="label label-danger">Tidak Aktif<span>`; } return $rowdata; }, visible: true, targets: 5, className: 'dt-center' }, { render: function (data, type, row){ $rowdata =`<ul class="icons-list"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> <i class="icon-menu9"></i> </a> <ul class="dropdown-menu dropdown-menu-right">` if(row.status == 10){ $rowdata += `<li><a href="#" class="activated"><i class="icon-cross2"></i>Tidak Aktif</a></li>` }else{ $rowdata += `<li><a href="#" class="activated"><i class="icon-checkmark"></i>Aktif</a></li>` } $rowdata += ` <li><a href="#" class="reset"><i class="icon-reload-alt"></i>Reset Password</a></li> <li><a href="#" class="edit"><i class="icon-pencil4"></i>Edit Kaprodi</a></li> </ul> </li> </ul>`; return $rowdata; }, visible: true, targets: 6, className: 'dt-center' }, ], fnRowCallback: function(nRow, aData, iDisplayIndex, iDisplayIndexFull){ var index = iDisplayIndexFull + 1; $('td:eq(0)', nRow).html('#'+index); return index; }, drawCallback: function (settings) { // console.log(settings.json); var api = this.api(); var rows = api.rows({page:'current'}).nodes(); var last = null; // Reverse last 3 dropdowns orientation $(this).find('tbody tr').slice(-3).find('.dropdown, .btn-group').addClass('dropup'); $(this).find('tbody tr').slice(-3).find('.icons-list, .btn-group').addClass('position-absolute') var that = this; var td ; var tr ; this.$('td').click( function () { td = this; }); this.$('tr').click( function () { tr = this; }); this.$('.activated').on('click', function(){ var tr = $(this).parents('tr') var aData = dtpr.row( tr ).data(); activated(aData); }); this.$('.edit').on('click', function(){ var tr = $(this).parents('tr') var aData = dtpr.row( tr ).data(); edituser(aData); }); this.$('.reset').on('click', function(){ var tr = $(this).parents('tr') var aData = dtpr.row( tr ).data(); reset(aData); }); this.$('.showAtt').on('click', function(){ var tr = $(this).parents('tr') var aData = dtpr.row( tr ).data(); loadAttachments(aData); }); }, fnInitComplete: function (oSettings, json) { var that = this; var td ; var tr ; this.$('td').click( function () { td = this; }); this.$('tr').click( function () { tr = this; }); $('#data-list2 input').bind('keyup', function (e) { return this.value; }); setIFrameSize(); } }); } function selectkaprodi(){ let isObject = {}; $.ajax({ type: 'POST', dataType: 'json', url: baseURL + '/jsondata/loadselectkaprodi', data: { iparam : cryptoEncrypt(PHRASE, isObject), }, success: function(response){ if(response.code == CODE_SUCCESS){ let result = cryptoDecrypt(PHRASE, response.data); let data = result.data; var $data = []; for(x in data){ $data.push({ id: data[x].nopeg, text: data[x].nama }) } $('#select-kaprodi').select2({ placeholder : "Pilih Kaprodi", data:$data, allowClear: true, }); // $res = ''; // for(z in data){ // $res += "<option>"+data[z].nama+"</option>" // } // $("#select-kaprodi").empty(); // $("#select") // $("#select-kaprodi").append($res); } }, error: function(xhr) { loaderPage(false); if(xhr.status != 200){ swal({ title: "Galat", text: xhr.status+"-"+xhr.statusText+" <br>Silahkan coba kembali :)", confirmButtonColor: "#2196F3", type: "error" }); } } }); } function edituser(aData){ $('#title-modal').empty(); $('#select-kaprodi').val('').trigger('change'); $('#temp').val(aData.iduser); let kodeprodi = null; if(aData.nama_prodi == 'Teknik Mesin'){ kodeprodi = 131; }else if(aData.nama_prodi == 'Teknik Dirgantara'){ kodeprodi = 136; }else if(aData.nama_prodi == 'Teknik Material'){ kodeprodi = 137; }else{ kodeprodi = null; } $("#kodeprodi").val(kodeprodi); selectkaprodi(); $('#modal-edit').modal('show'); $('#title-modal').append('Edit Kaprodi '+aData.nama_prodi) } $('#btn-update').on('click', function(){ let isObject = {}; isObject.iduser = $('#temp').val(); isObject.nopeg = $('#select-kaprodi').val(); if(isObject.nopeg == ''){ swalValidate('Nama Ketua Prodi Tidak Boleh Kosong'); return false; } swal({ title: "Apakah kamu yakin ?", text: "Akan Mengganti Ketua Prodi", type: "info", showCancelButton: true, confirmButtonText: "Ya, Yakin", cancelButtonText: "Tidak", closeOnConfirm: false, closeOnCancel: false }, function (isConfirm) { if (isConfirm) { savekaprodi(); }else { swal("Gagal", "Mengganti ketua prodi dibatalkan", "error"); } }); }) function savekaprodi(){ loaderPage(true); let isObject = {}; isObject.iduser = $('#temp').val(); isObject.nopeg = $('#select-kaprodi').val(); isObject.prodi = $("#kodeprodi").val(); $.ajax({ type: 'POST', dataType: 'json', url: baseURL + '/jsondata/savekaprodi', data: { iparam : cryptoEncrypt(PHRASE, isObject), }, success: function(result){ if(result.code == 0){ loaderPage(false); swal({ title: "Sukses", text: "Telah selesai mengganti kaprodi", confirmButtonColor: "#66BB6A", type: "success" }); loaduserkaprodi(); $('#modal-edit').modal('hide'); }else{ loaderPage(false); swal({ title: "Galat", text: result.info+" Silahkan coba kembali :)", confirmButtonColor: "#2196F3", type: "error" }); loaduserkaprodi(); } }, error: function(xhr) { loaderPage(false); if(xhr.status != 200){ swal({ title: "Galat", text: xhr.status+"-"+xhr.statusText+" <br>Silahkan coba kembali :)", confirmButtonColor: "#2196F3", type: "error" }); } } }); } function reset(aData){ swal({ title: "Apakah kamu yakin ?", text: "Kaprodi "+aData.nama_prodi+" akan direset passwordnya", type: "info", showCancelButton: true, confirmButtonText: "Ya, Yakin", cancelButtonText: "Tidak", closeOnConfirm: false, closeOnCancel: false }, function (isConfirm) { if (isConfirm) { savereset(aData); } else { swal("Gagal", "Reset password user dibatalkan", "error"); } }); } function savereset(aData){ let nama_prodi = aData.nama_prodi; let temp_prodi = nama_prodi.split(" "); nama_prodi = temp_prodi[1]; nama_prodi = nama_prodi.toLowerCase() let isObject = {}; isObject.iduser = aData.iduser; isObject.nim = aData.username; $.ajax({ type: 'POST', dataType: 'json', url: baseURL + '/jsondata/resetpasswordusers', data: { iparam : cryptoEncrypt(PHRASE, isObject), }, success: function(result){ if(result.code == 0){ loaderPage(false); swal({ title: "Sukses", text: "Telah selesai mereset password kaprodi "+aData.nama_prodi+" menjadi 'kaprodi"+nama_prodi+"'", confirmButtonColor: "#66BB6A", type: "success" }); loaduserkaprodi(); }else{ loaderPage(false); swal({ title: "Galat", text: result.info+" Silahkan coba kembali :)", confirmButtonColor: "#2196F3", type: "error" }); loaduserkaprodi(); } }, error: function(xhr) { loaderPage(false); if(xhr.status != 200){ swal({ title: "Galat", text: xhr.status+"-"+xhr.statusText+" <br>Silahkan coba kembali :)", confirmButtonColor: "#2196F3", type: "error" }); } } }); } function activated(aData){ let status = aData.status; if(status == 10){ $text = 'Kaprodi '+aData.nama_prodi+" menjadi tidak aktif" }else{ $text = 'Kaprodi '+aData.nama_prodi+" menjadi aktif" } swal({ title: "Apakah kamu yakin ?", text: "Dosen dengan nama "+$text, type: "info", showCancelButton: true, confirmButtonText: "Ya, Yakin", cancelButtonText: "Tidak", closeOnConfirm: false, closeOnCancel: false }, function (isConfirm) { if (isConfirm) { saveActivated(aData); } else { swal("Gagal", "Aktivasi user dibatalkan", "error"); } }); } function saveActivated(aData){ let isObject = {} isObject.iduser = aData.iduser; isObject.status = aData.status; if(isObject.status == 10){ $textSuccess = "Dosen dengan nama "+aData.nama+" menjadi tidak aktif" }else{ $textSuccess = "Dosen dengan nama "+aData.nama+" menjadi aktif" } loaderPage(true); $.ajax({ type: 'POST', dataType: 'json', url: baseURL + '/jsondata/activateduser', data: { iparam : cryptoEncrypt(PHRASE, isObject), }, success: function(result){ if(result.code == 0){ loaderPage(false); swal({ title: "Sukses", text: $textSuccess, confirmButtonColor: "#66BB6A", type: "success" }); loaduserkaprodi(); }else{ loaderPage(false); swal({ title: "Galat", text: result.info+" Silahkan coba kembali :)", confirmButtonColor: "#2196F3", type: "error" }); loaduserkaprodi(); } }, error: function(xhr) { loaderPage(false); if(xhr.status != 200){ swal({ title: "Galat", text: xhr.status+"-"+xhr.statusText+" <br>Silahkan coba kembali :)", confirmButtonColor: "#2196F3", type: "error" }); } } }); }