Add the legacy frontend themes, scripts, and plugin assets required by the main SPOTA interfaces.
446 lines
12 KiB
PHP
446 lines
12 KiB
PHP
<link rel="stylesheet" href="../assets/plugins/bootstrap-daterangepicker/daterangepicker-bs3.css">
|
|
<link rel="stylesheet" href="../assets/plugins/gritter/css/jquery.gritter.css">
|
|
<script src="../assets/plugins/bootstrap-daterangepicker/moment.min.js"></script>
|
|
<script src="../assets/plugins/bootstrap-daterangepicker/daterangepicker.js"></script>
|
|
<script src="../assets/js/form-elements.js"></script>
|
|
<script src="../assets/plugins/ckeditor/ckeditor.js"></script>
|
|
<script src="../assets/plugins/ckeditor/adapters/jquery.js"></script>
|
|
<script src="../assets/plugins/jquery-validation/dist/jquery.validate.min.js"></script>
|
|
<script src="../assets/plugins/gritter/js/jquery.gritter.min.js"></script>
|
|
<script>
|
|
let jadwalSidang = false;
|
|
<?php
|
|
if (isset($_GET['menu'])) {
|
|
$getMenu = $_GET['menu'];
|
|
if ($getMenu == 'jadwal_sidang') {
|
|
echo 'jadwalSidang = true;';
|
|
}
|
|
}
|
|
|
|
?>
|
|
jQuery(document).ready(function() {
|
|
Main.init();
|
|
|
|
//function to initiate daterangepicker
|
|
$('.date-range').daterangepicker();
|
|
|
|
$("#tambah_diskusi").validate({
|
|
errorPlacement: function(error, element) {
|
|
error.appendTo( element.parent("div"));
|
|
},
|
|
rules:{
|
|
pemb:{
|
|
required:true
|
|
},
|
|
stta:{
|
|
required:true
|
|
},
|
|
bab:{
|
|
required:true
|
|
},
|
|
sub:{
|
|
required:true
|
|
}
|
|
},
|
|
messages:{
|
|
pemb:{
|
|
required:"Silakan Pilih Dosen Pembimbing."
|
|
},
|
|
stta:{
|
|
required:"Silakan Pilih Status Tugas Akhir."
|
|
},
|
|
bab:{
|
|
required:"Silakan Pilih BAB Bahasan."
|
|
},
|
|
sub:{
|
|
required:"Silakan Inputkan Sub Bahasan."
|
|
}
|
|
},
|
|
submitHandler:function(form){
|
|
$.ajax({
|
|
url:'page/outline/act.outline.php',
|
|
dataType:'json',
|
|
type:'POST',
|
|
data:$("#tambah_diskusi").serialize(),
|
|
cache:false,
|
|
success:function(json){
|
|
if(json.result){
|
|
$.gritter.add({
|
|
title:'Sukses',
|
|
time: 1000,
|
|
text: json.msg,
|
|
after_close: function(){
|
|
location.href="?page=outline&menu=list";
|
|
}
|
|
});
|
|
}else{
|
|
$.gritter.add({
|
|
title:'Kesalahan',
|
|
time: 1000,
|
|
text: json.msg
|
|
});
|
|
}
|
|
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
$("#post_review").validate({ //
|
|
errorPlacement: function(error, element) {
|
|
error.appendTo( element.parent("div"));
|
|
},
|
|
submitHandler:function(form){
|
|
for ( instance in CKEDITOR.instances )
|
|
{
|
|
CKEDITOR.instances[instance].updateElement();
|
|
}
|
|
|
|
if(window.FormData !== undefined) // for HTML5 browsers
|
|
{
|
|
var formData = new FormData(document.getElementById("post_review"));
|
|
$.ajax({
|
|
url:'page/outline/act.outline.php',
|
|
type:'POST',
|
|
data:formData,
|
|
dataType:'json',
|
|
mimeType:'multipart/form-data',
|
|
contentType: false,
|
|
cache: false,
|
|
processData:false,
|
|
beforeSend:function(){
|
|
$("#loading").show();
|
|
},
|
|
success:function(json){
|
|
if(json.result){
|
|
$("#loading").hide();
|
|
$.gritter.add({
|
|
title:'Sukses',
|
|
time: 1000,
|
|
text: json.msg,
|
|
after_close: function(){
|
|
// location.href="?page=outline&menu=list";
|
|
location.reload();
|
|
}
|
|
});
|
|
}else{
|
|
$("#loading").hide();
|
|
$.gritter.add({
|
|
title:'Kesalahan',
|
|
time: 4000,
|
|
text: json.msg
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|
|
|
|
}else{ //for olden browsers
|
|
|
|
var iframeId = "unique" + (new Date().getTime());
|
|
var iframe = $('<iframe src="javascript:false;" name="'+iframeId+'" />');
|
|
iframe.hide();
|
|
form.attr("target",iframeId);
|
|
iframe.appendTo("body");
|
|
iframe.load(function(e){
|
|
var doc = getDoc(iframe[0]);
|
|
var docRoot = doc.body ? doc.body : doc.documentElement;
|
|
var data = docRoot.innerHTML;
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|
|
$("#post_jadwal").validate({
|
|
errorPlacement: function(error, element) {
|
|
error.appendTo( element.parent("div"));
|
|
},
|
|
rules:{
|
|
pemb1:{
|
|
required:true
|
|
},
|
|
pemb2:{
|
|
required:true
|
|
},
|
|
peng1:{
|
|
required:true
|
|
},
|
|
peng2:{
|
|
required:true
|
|
}
|
|
},
|
|
messages:{
|
|
pemb1:{
|
|
required:"Silakan Inputkan Nama Pembimbing 1."
|
|
},
|
|
pemb2:{
|
|
required:"Silakan Inputkan Nama Pembimbing 2."
|
|
},
|
|
peng1:{
|
|
required:"Silakan Inputkan Nama Penguji 1."
|
|
},
|
|
peng2:{
|
|
required:"Silakan Inputkan Nama Penguji 2."
|
|
}
|
|
},
|
|
submitHandler:function(form){
|
|
$.ajax({
|
|
url:'page/outline/act.outline.php',
|
|
dataType:'json',
|
|
type:'POST',
|
|
data:$("#post_jadwal").serialize(),
|
|
cache:false,
|
|
success:function(json){
|
|
if(json.result){
|
|
$.gritter.add({
|
|
title:'Sukses',
|
|
time: 1000,
|
|
text: json.msg,
|
|
after_close: function(){
|
|
location.reload();
|
|
}
|
|
});
|
|
}else{
|
|
$.gritter.add({
|
|
title:'Kesalahan',
|
|
time: 1000,
|
|
text: json.msg
|
|
});
|
|
}
|
|
|
|
}
|
|
});
|
|
}
|
|
});
|
|
});
|
|
|
|
CKEDITOR.disableAutoInline = true;
|
|
$('textarea.ckeditor').ckeditor({
|
|
height:240
|
|
});
|
|
|
|
function refreshTabelBerkas(){
|
|
let url = `../steven/API/getBerkasSidangMahasiswa.php?idRekapHasil=${currentIdRekap}&jenis=Sidang`;
|
|
|
|
$('#isiTabelBerkas').html('<tr><td colspan="4" style="text-align:center">Mengambil Data . . .</td></tr>');
|
|
|
|
$.ajax({
|
|
url: url,
|
|
type:'GET',
|
|
dataType:'json',
|
|
contentType: false,
|
|
cache: false,
|
|
processData:false,
|
|
beforeSend:function(){
|
|
// $("#loading").show();
|
|
},
|
|
success:function(json){
|
|
const data = json.data;
|
|
|
|
let isiTabel = ``;
|
|
let no = 1;
|
|
for (var key in data) {
|
|
if (data.hasOwnProperty(key)){
|
|
const berkas = data[key];
|
|
const judul = berkas.judul;
|
|
const dataBerkas = berkas.data;
|
|
|
|
let adaBerkas = true;
|
|
if(dataBerkas == undefined || dataBerkas == null){
|
|
adaBerkas= false;
|
|
}else{
|
|
if(dataBerkas.file == null || dataBerkas.file == ""){
|
|
adaBerkas = false;
|
|
}
|
|
}
|
|
|
|
if(adaBerkas){
|
|
const verifikasiAdmin = Number(dataBerkas.status);
|
|
if(verifikasiAdmin == 1){
|
|
isiTabel += `<tr><td>${no}</td><td>${judul}</td><td></td><td>${getLabelStatusBerkas(dataBerkas.status)}</td><td><a href="${dataBerkas.file}" target="_blank"><button class="btn btn-primary">Lihat File</button></a></td></tr>`;
|
|
}else{
|
|
isiTabel += `<tr><td>${no}</td><td>${judul}</td><td><input type="file" class="fileBerkas" data-nama="${key}"></td><td>${getLabelStatusBerkas(dataBerkas.status)}</td><td><a href="${dataBerkas.file}" target="_blank"><button class="btn btn-primary">Lihat File</button></a></td></tr>`;
|
|
}
|
|
}else{
|
|
isiTabel += `<tr><td>${no}</td><td>${judul}</td><td><input type="file" class="fileBerkas" data-nama="${key}"></td><td><span class="label label-default">Belum Diupload</span></td><td></td></tr>`;
|
|
}
|
|
no++;
|
|
}
|
|
}
|
|
|
|
$('#isiTabelBerkas').html(isiTabel);
|
|
}
|
|
});
|
|
}
|
|
|
|
function getLabelStatusBerkas(verifikasiAdmin){
|
|
verifikasiAdmin = Number(verifikasiAdmin);
|
|
switch(verifikasiAdmin){
|
|
case 0 : return `<span class="label label-warning">Belum diverifikasi</span>`;
|
|
case 1 : return `<span class="label label-success">OK</span>`;
|
|
}
|
|
}
|
|
|
|
function uploadBerkasSidangOld(){
|
|
let formData = new FormData();
|
|
let listKeyFile = [];
|
|
$(`.fileBerkas`).each(function(i, obj) {
|
|
const file = $(this)[0].files[0];
|
|
if(file != undefined && file != null){
|
|
const nama = $(this).attr("data-nama");
|
|
formData.append(nama, file);
|
|
listKeyFile.push(nama);
|
|
}
|
|
});
|
|
|
|
formData.append("listKey", JSON.stringify(listKeyFile));
|
|
|
|
$.ajax({
|
|
url:`../steven/API/postBerkasSidangMahasiswa.php?idRekapHasil=${currentIdRekap}`,
|
|
type:'POST',
|
|
data:formData,
|
|
dataType:'json',
|
|
mimeType:'multipart/form-data',
|
|
contentType: false,
|
|
cache: false,
|
|
processData:false,
|
|
beforeSend:function(){
|
|
$("#loading").show();
|
|
},
|
|
success:function(json){
|
|
if(json.status){
|
|
$("#loading").hide();
|
|
$.gritter.add({
|
|
title:'Sukses',
|
|
time: 1000,
|
|
text: json.msg,
|
|
after_close: function(){
|
|
refreshTabelBerkas();
|
|
}
|
|
});
|
|
}else{
|
|
$("#loading").hide();
|
|
$.gritter.add({
|
|
title:'Kesalahan',
|
|
time: 4000,
|
|
text: json.msg
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
async function uploadBerkasSidang(){
|
|
$('#btnUploadBerkas').hide();
|
|
$('#loaderBerkas').html(`Tunggu sebentar`);
|
|
|
|
let listKeyFile = [];
|
|
let listFormData = [];
|
|
$(`.fileBerkas`).each(function(i, obj) {
|
|
const file = $(this)[0].files[0];
|
|
if(file != undefined && file != null){
|
|
const nama = $(this).attr("data-nama");
|
|
let formData = new FormData();
|
|
formData.append("file_gdrive", file);
|
|
formData.append("nim", nimMhs);
|
|
formData.append("folderMhs", "Sidang Akhir");
|
|
formData.append("nama", nama);
|
|
|
|
listFormData.push(formData);
|
|
}
|
|
});
|
|
|
|
for(let i = 0; i < listFormData.length; i++){
|
|
const res = await uploadKeDrive(listFormData[i]);
|
|
const nama = listFormData[i].get("nama");
|
|
const no = i + 1;
|
|
$('#loaderBerkas').html(`Mengupload ${no} dari ${listFormData.length} berkas`);
|
|
|
|
try{
|
|
if(res.status == 1){
|
|
listKeyFile.push({
|
|
'nama' : nama,
|
|
'file' : res.fileId,
|
|
});
|
|
|
|
|
|
}
|
|
}catch(err){
|
|
|
|
}
|
|
}
|
|
|
|
let formDataNew = new FormData();
|
|
formDataNew.append("data", JSON.stringify(listKeyFile));
|
|
|
|
$('#loaderBerkas').html(`Menyimpan data`);
|
|
|
|
$.ajax({
|
|
url:`../steven/API/postBerkasSidangMahasiswaNew.php?idRekapHasil=${currentIdRekap}&jenis=Sidang`,
|
|
type:'POST',
|
|
data:formDataNew,
|
|
dataType:'json',
|
|
mimeType:'multipart/form-data',
|
|
contentType: false,
|
|
cache: false,
|
|
processData:false,
|
|
beforeSend:function(){
|
|
//$("#loading").show();
|
|
},
|
|
success:function(json){
|
|
if(json.status){
|
|
$.gritter.add({
|
|
title:'Sukses',
|
|
time: 1000,
|
|
text: json.msg,
|
|
after_close: function(){
|
|
refreshTabelBerkas();
|
|
}
|
|
});
|
|
$('#btnUploadBerkas').show();
|
|
$('#loaderBerkas').html(``);
|
|
}else{
|
|
$.gritter.add({
|
|
title:'Kesalahan',
|
|
time: 4000,
|
|
text: json.msg
|
|
});
|
|
|
|
$('#btnUploadBerkas').show();
|
|
$('#loaderBerkas').html(``);
|
|
}
|
|
},
|
|
error: function (jqXHR, exception) {
|
|
$('#btnUploadBerkas').show();
|
|
$('#loaderBerkas').html(``);
|
|
|
|
$.gritter.add({
|
|
title:'Kesalahan',
|
|
time: 4000,
|
|
text: jqXHR.responseText
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
async function uploadKeDrive(formData){
|
|
const resAjax = await $.ajax({
|
|
url:`http://203.24.50.140:8080`,
|
|
type:'POST',
|
|
data:formData,
|
|
dataType:'json',
|
|
mimeType:'multipart/form-data',
|
|
contentType: false,
|
|
cache: false,
|
|
processData:false
|
|
});
|
|
|
|
return resAjax;
|
|
}
|
|
|
|
|
|
if(jadwalSidang){
|
|
refreshTabelBerkas();
|
|
}
|
|
|
|
</script>
|