function fnAddMahasiswa(){ var SYS_DATE = new Date(); Ext.getCmp('tabpanel-mhs').setActiveTab(0); Ext.getCmp('tb.save-mhs').enable(); Ext.getCmp('tb.save-mhs').show(); Ext.getCmp('tb.update-mhs').hide(); enableMhsContents(); resetMhsContents(); // ENABLING the combos which create NPM Ext.getCmp('cb.prodireg').enable(); Ext.getCmp('cb.thmasuk').enable(); Ext.getCmp('cb.stawal').enable(); Ext.getCmp('fp.mhsFDisp').getForm().reset(); Ext.getCmp("tab.slta").disable(); Ext.getCmp("tab.asalpt").disable(); set_npm(); sett_oto_npm(); Ext.getCmp('df.tgmasuk').setValue(SYS_DATE); }; function fnEditMahasiswa(){ Ext.getCmp('tb.save-mhs').hide(); Ext.getCmp('tb.update-mhs').enable(); Ext.getCmp('tb.update-mhs').show(); enableMhsContents(); //npm disable //Ext.getCmp('tf.npm-mhs').disable(); // disabling the combos which create NPM Ext.getCmp('cb.prodireg').disable(); //Ext.getCmp('cb.thmasuk').disable(); //Ext.getCmp('cb.stawal').disable(); SelectBaruPindahan(); Ext.Ajax.request({ url:BASE_URL + 'c_tools/get_user', method:'POST', success: function(response){ var r = Ext.decode(response.responseText); USERID = r.userid; USERNAME = r.username; L_MEMBER = r.level_member; NM_KLP = r.nm_klp; //Kondisi Untuk Admin// if(NM_KLP == "Administrator" || NM_KLP == "Developer"){ Ext.getCmp('tf.npm-mhs').enable(); }else{ Ext.getCmp('tf.npm-mhs').disable(); } } }); }; function fnSaveMahasiswa(sType){ // FOR DEBUG -- BEGIN /*Ext.Msg.alert("Warning", rh_getFieldValue('cb.prodireg','kdprodi','nourutprodi')); return;*/ //Ext.Msg.alert("Warning", getAutoNPM()); return; //END DEBUG if(sType == 'insert'){ insertMhs(); } if(sType == 'update'){ updateMhs(); } } function insertMhs(){ // SETUP PARAMETER (variabel), untuk parameter berupa fungsi langsung saat submit di-call var idForm = 'fp.mhsTabPanel'; var sUrl = BASE_URL +'mahasiswa_controller/insert_mhs'; var msgWait = 'Tunggu, sedang proses menyimpan...'; var msgSuccess = 'Tambah data berhasil'; var msgFail = 'Tambah data gagal'; var msgInvalid = 'Data belum valid (data primer belum terisi)!'; // SET AUTO NPM //No urut prodi pada NPM bukan kdprodi pd tabel mahasiswa (ref dikti) tapi nourut pada tabel prodi (ref Unla) /* //utk ambil no urut, tapi dgn substring dari displayField combo var prodi = Ext.getCmp('cb.prodireg').getRawValue(); //getRawValue() return displayed text of combo var nourutprodi = prodi.substring(0,3); //ambil tiga digit pertama (nourut) */ //var nourutprodi = RH.getFieldValue('cb.prodireg','kdprodi','nourutprodi'); //fungsi dari rhFunctions var nourutprodi = Ext.getCmp('cb.prodireg').getRawValue().substr(0, 3); var thmasuk = Ext.getCmp('cb.thmasuk').getValue(); var stawal = Ext.getCmp('cb.stawal').getValue(); var kdth = thmasuk.substring(2,4); // ambil 2 digit terakhir if(stawal == 'B') stawal = '0'; else if(stawal == 'P') stawal = '5'; // NPM = 4115 + [3-digit nourut prodi] + [1-digit stawal] + [2-digit tahun] + [4-digit nourut mhs] var prefixNPM = '4115' + nourutprodi + stawal + kdth; if (Ext.getCmp('oto').getValue()=="Auto-Generate") { Ext.Ajax.request({ url: BASE_URL + 'mahasiswa_controller/get_nim', method: 'POST', params :{ kdunla : '4115', nourutprodi : nourutprodi, stawal : stawal, kdth : kdth }, scope: this, async:false, waitMsg: "NPM sedang diproses...", success: function(result){ //var jsonData = Ext.util.JSON.decode(result.responseText); //Ext.util.JSON di Ext3; Ext.JSON di Ext4 var jsonData = Ext.decode(result.responseText); //bisa utk Ext3 dan Ext4 //console.log("NIM: " + jsonData.nim); var npm = jsonData.nim; Ext.getCmp('tf.npm-mhs').setValue(npm); if(RH.isEmpty('tf.npm-mhs')) { RH.warning('NPM gagal dibuat'); return; } else { Ext.Msg.alert("Info:", "NPM : " + Ext.getCmp('tf.npm-mhs').getValue()); var sParams = getInsertParams(); //call form submit function (common function by RH) RH.submitForm(idForm, sUrl, sParams, afterSaveSuccess(), msgWait, msgSuccess, msgFail, msgInvalid); } } }); } else { var sParams = getInsertParams(); //call form submit function (common function by RH) RH.submitForm(idForm, sUrl, sParams, afterSaveSuccess(), msgWait, msgSuccess, msgFail, msgInvalid); } } function updateMhs(){ // SETUP PARAMETER var idForm = 'fp.mhsTabPanel'; var sUrl = BASE_URL +'mahasiswa_controller/update_mhs'; var sParams = getInsertParams(); //getUpdateParams(); var msgWait = 'Tunggu, sedang proses update...'; var msgSuccess = 'Update data berhasil'; var msgFail = 'Update data gagal'; var msgInvalid = 'Data belum valid (data primer belum terisi)!'; //call form submit function (common function by RH) RH.submitForm(idForm, sUrl, sParams, afterSaveSuccess(), msgWait, msgSuccess, msgFail, msgInvalid); } //DELETE MAHASISWA// function fnDeleteMahasiswa(grid, record){ var url = BASE_URL + 'mahasiswa_controller/delete_mahasiswa'; var params = new Object({ nim: Ext.getCmp("tf.npm-mhs").getValue(), nopmb : Ext.getCmp('tf.nopmb').getValue() }); RH.superDelete(url, params); resetMhsContents(); Ext.getCmp('fp.mhsFDisp').getForm().reset(); } function enableMhsContents(){ // pake nama variabel jika di-declare dgn new Ext.form.FormPanel({ //fPersonal.enable(); fOrtu.enable(); fDaftar.enable(); //fSlta.enable(); fAsalpt.enable(); fPekerjaan.enable(); //fAlumni.enable(); fData_s3.enable(); fDatalain.enable(); //bisa pake id Ext.getCmp('content.personal').enable(); Ext.getCmp('content.ortu').enable(); Ext.getCmp('content.daftar').enable(); Ext.getCmp('content.slta').enable(); Ext.getCmp('content.asalpt').enable(); Ext.getCmp('content.pekerjaan').enable(); Ext.getCmp('content.alumni').enable(); //Ext.getCmp('content.s3').enable(); Ext.getCmp('content.datalain').enable(); Ext.getCmp('content_skripsi').enable(); } function disableMhsContents(){ // pake nama variabel jika di-declare dgn new Ext.form.FormPanel({ //fPersonal.disable(); fOrtu.disable(); fDaftar.disable(); //fSlta.disable(); fAsalpt.disable(); fPekerjaan.disable(); //fAlumni.disable(); fData_s3.disable(); fDatalain.disable(); //bisa pake id Ext.getCmp('content.personal').disable(); Ext.getCmp('content.ortu').disable(); Ext.getCmp('content.daftar').disable(); Ext.getCmp('content.slta').disable(); Ext.getCmp('content.asalpt').disable(); Ext.getCmp('content.pekerjaan').disable(); Ext.getCmp('content.alumni').disable(); //Ext.getCmp('content.s3').disable(); Ext.getCmp('content.datalain').disable(); Ext.getCmp('content_skripsi').disable(); }; function resetMhsContents(){ Ext.getCmp('fp.mhsTabPanel').getForm().reset(); /* Ext.getCmp('content.personal').getForm().reset(); Ext.getCmp('content.ortu').getForm().reset(); Ext.getCmp('content.daftar').getForm().reset(); Ext.getCmp('content.slta').getForm().reset(); Ext.getCmp('content.asalpt').getForm().reset(); Ext.getCmp('content.pekerjaan').getForm().reset(); Ext.getCmp('content.alumni').getForm().reset(); Ext.getCmp('content.s3').getForm().reset(); Ext.getCmp('content.datalain').getForm().reset(); */ }; function afterSaveSuccess(){ Ext.getCmp('tb.save-mhs').disable(); Ext.getCmp('tb.update-mhs').disable(); disableMhsContents(); setDispMhs(); } function setDispMhs(){ var id = Ext.getCmp('tf.npm-mhs').getValue(); var name = Ext.getCmp('tf.nama-mhs').getValue(); var faculty = RH.getFieldValue('cb.prodireg', 'kdprodi', 'nmfakultas'); var prody = RH.getFieldValue('cb.prodireg', 'kdprodi', 'lnmprodi'); //Ext.getCmp('cb.prodireg').getRawValue(); var inyear = Ext.getCmp('cb.thmasuk').getValue(); var stactiv = RH.getFieldValue('cb.staktiv', 'kode', 'nama'); //Ext.getCmp('cb.staktiv').getRawValue(); var stfirst = RH.getFieldValue('cb.stawal', 'kode', 'nama'); //Ext.getCmp('cb.stawal').getRawValue(); Ext.getCmp('frm.npm').setValue(id); Ext.getCmp('frm.nama').setValue(name); Ext.getCmp('frm.fakultas').setValue(faculty); Ext.getCmp('frm.prodi').setValue(prody); Ext.getCmp('frm.thmasuk').setValue(inyear); Ext.getCmp('frm.staktiv').setValue(stactiv); Ext.getCmp('frm.stawal').setValue(stfirst); }; function setMhsForm(npm, nama){ //disable dan reset form dgn fungsi dari fnMahasiswa.js disableMhsContents(); resetMhsContents(); Ext.getCmp('fp.mhsFDisp').getForm().reset(); Ext.getCmp('tb.save-mhs').disable(); Ext.getCmp('tb.update-mhs').disable(); //set form Ext.getCmp('tf.npm-mhs').setValue(npm); Ext.getCmp('frm.npm').setValue(npm); Ext.getCmp('tf.nama-mhs').setValue(nama); Ext.getCmp('frm.nama').setValue(nama); //set tab 0 active Ext.getCmp('tabpanel-mhs').setActiveTab(0); //test //Ext.getCmp('cb.gender-mhs').setValue('L'); } ////////////// // GET PARAMETERS FOR INSERT function getInsertParams(){ return new Object({ //PERSONAL TAB's Fields idmhs : Ext.getCmp('tf.id-mhs').getValue() , nim : Ext.getCmp('tf.npm-mhs').getValue() , noktp : Ext.getCmp('tf.noktp-mhs').getValue() , nmmhs : Ext.getCmp('tf.nama-mhs').getValue() , kdjnskelamin : Ext.getCmp('cb.gender-mhs').getValue(), tptlahir : Ext.getCmp('tf.tplahir-mhs').getValue(), tgllahir : Ext.getCmp('df.tglahir-mhs').getValue(), kdagama : Ext.getCmp('cb.agama-mhs').getValue(), idgoldarah : Ext.getCmp('cb.goldarah-mhs').getValue(), kdwn : Ext.getCmp('cb.wn-mhs').getValue(), notelpmhs : Ext.getCmp('tf.telp-mhs').getValue(), nohpmhs : Ext.getCmp('tf.hp-mhs').getValue(), alamatasal : Ext.getCmp('tf.alamat_asal-mhs').getValue(), kelurahanasal : Ext.getCmp('tf.kel_asal-mhs').getValue(), kecamatanasal : Ext.getCmp('tf.kec_asal-mhs').getValue(), kdkotkabasal : Ext.getCmp('lu.kdkotkabasal').getValue(), kdposasal : Ext.getCmp('tf.kdpos_asal-mhs').getValue(), alamatsurat : Ext.getCmp('tf.alamat_surat-mhs').getValue(), kelurahansurat : Ext.getCmp('tf.kel_surat-mhs').getValue(), kecamatansurat : Ext.getCmp('tf.kec_surat-mhs').getValue(), kdkotkabsurat : Ext.getCmp('lu.kdkotkabsurat').getValue(), kdpossurat : Ext.getCmp('tf.kdpos_surat-mhs').getValue(), //ORTU (IBU) TAB's Fields nmortu : Ext.getCmp('tf.namaortu').getValue(), idpekerjaanortu : Ext.getCmp('cb.jobortu').getValue(), idpendidikanortu : Ext.getCmp('cb.eduortu').getValue(), alamatortu : Ext.getCmp('tf.alamatortu').getValue(), kelurahanortu : Ext.getCmp('tf.kelortu').getValue(), kecamatanortu : Ext.getCmp('tf.kecortu').getValue(), kdkotkabortu : Ext.getCmp('lu.kdkotkabortu').getValue(), kdposortu : Ext.getCmp('tf.kdposortu').getValue(), notelportu : Ext.getCmp('tf.tlportu').getValue(), //ORTU (AYAH) TAB's Fields nmortuayah : Ext.getCmp('tf.namaortuayah').getValue(), idpekerjaanortuayah : Ext.getCmp('cb.jobortuayah').getValue(), idpendidikanortuayah : Ext.getCmp('cb.eduortuayah').getValue(), alamatortuayah : Ext.getCmp('tf.alamatortuayah').getValue(), kelurahanortuayah : Ext.getCmp('tf.kelortuayah').getValue(), kecamatanortuayah : Ext.getCmp('tf.kecortuayah').getValue(), kdkotkabortuayah : Ext.getCmp('lu.kdkotkabortuayah').getValue(), kdposortuayah : Ext.getCmp('tf.kdposortuayah').getValue(), notelportuayah : Ext.getCmp('tf.tlportuayah').getValue(), //DAFTAR TAB's Fields nopmb : Ext.getCmp('tf.nopmb').getValue(), kdstsemester : Ext.getCmp('cb.stsmt').getValue(), kdprodi : Ext.getCmp('cb.prodireg').getValue(), shiftmhs : Ext.getCmp('cb.shift').getValue(), idklsmhs : Ext.getCmp('cb.class').getValue(), thnmasuk : Ext.getCmp('cb.thmasuk').getValue(), tglmasuk : Ext.getCmp('df.tgmasuk').getValue(), kdstawalmhs : Ext.getCmp('cb.stawal').getValue(), kdstaktivitasmhs : Ext.getCmp('cb.staktiv').getValue(), kdpropinsislta : Ext.getCmp('lu.kdpropinsislta').getValue(), btsstudi : Ext.getCmp('cb.batasstudi').getValue(), catnonaktif : Ext.getCmp('idtextcatnonaktif').getValue(), //SLTA TAB's Fields nmslta : Ext.getCmp('tf.nmslta').getValue(), kdkotkabslta : Ext.getCmp('lu.kdkotkabslta').getValue(), idjnsslta : Ext.getCmp('cb.jnslta').getValue(), idstakreditasislta : Ext.getCmp('cb.stakrslta').getValue(), thnlulusslta : Ext.getCmp('cb.thlulusslta').getValue(), nemslta : Ext.getCmp('tf.nemslta').getValue(), rangkingslta : Ext.getCmp('tf.rankslta').getValue(), noijazahslta : Ext.getCmp('tf.noijzslta').getValue(), tglijazahslta : Ext.getCmp('df.tgijzslta').getValue(), // ASAL PT/PINDAHAN kdptasal : Ext.getCmp('lu.kdptasal').getValue(), nmptasal : Ext.getCmp('lu.nmptasal').getValue(), idjnspt : Ext.getCmp('cb.jnpt-asal').getValue(), idstakreditasi : Ext.getCmp('cb.stakr-asal').getValue(), idkuakreditasi : Ext.getCmp('cb.kuakr-asal').getValue(), kdjenjangstudiasal : Ext.getCmp('tf.jjgstudi-asal').getValue(), fakultasasal : Ext.getCmp('tf.fakultas-asal').getValue(), kdprodiasal : Ext.getCmp('lu.kdprodiasal').getValue(), nmprodiasal : Ext.getCmp('lu.nmprodiasal').getValue(), nimasal : Ext.getCmp('tf.npm-asal').getValue(), noijazahasal : Ext.getCmp('tf.noijzpt-asal').getValue(), tglijazahasal : Ext.getCmp('df.tgijzpt-asal').getValue(), idsemesterpindah : Ext.getCmp('nf.smtpindah-asal').getValue(), jmlsksdiakui : Ext.getCmp('nf.jumsks-asal').getValue(), alasanpindah : Ext.getCmp('ta.alasanpindah').getValue(), // PEKERJAAN MAHASISWA idpekerjaanmhs : Ext.getCmp('cb.idjob-mhs').getValue(), nmtptbekerjamhs : Ext.getCmp('tf.tpjob-mhs').getValue(), alamatkerkamhs : Ext.getCmp('tf.alamatjob-mhs').getValue(), jabatanmhs : Ext.getCmp('tf.jabjob-mhs').getValue(), // ALUMNI idpekerjaanalumni : Ext.getCmp('cb.idjob-alumni').getValue(), nmtptbekerjaalumni : Ext.getCmp('tf.tpjob-alumni').getValue(), alamatkerjaalumni : Ext.getCmp('tf.alamatjob-alumni').getValue(), jabatanalumni : Ext.getCmp('tf.jabjob-alumni').getValue(), thnkeluar : Ext.getCmp('cb.thout-alumni').getValue(), tgllulus : Ext.getCmp('df.tglulus-alumni').getValue(), idstatusalumni : Ext.getCmp('status_alumni').getValue(), notranskrip : Ext.getCmp('notranskrip').getValue(), noijazah : Ext.getCmp('noijazah').getValue(), ketuayayasan : Ext.getCmp('ketua_yayasan').getValue(), tglijazah : Ext.getCmp('tglijazah').getValue(), idpimpinan1 : Ext.getCmp('pimpinan1').getValue(), tgltandatangan : Ext.getCmp('tgltandatangan').getValue(), //S3 /* kdbiayastudi : Ext.getCmp('cb.biaya-s3').getValue(), kdpttptbekerja : Ext.getCmp('tf.kdpt-s3').getValue(), nmpttptbekerja : Ext.getCmp('tf.nmpt-s3').getValue(), kdproditptbekerja : Ext.getCmp('tf.kdprodi-s3').getValue(), nmproditptbekerja : Ext.getCmp('tf.nmprodi-s3').getValue(), nidupromotor : Ext.getCmp('tf.nippro').getValue(), nidukopromotor1 : Ext.getCmp('tf.nipko1').getValue(), nidukopromotor2 : Ext.getCmp('tf.nipko2').getValue(), nidukopromotor3 : Ext.getCmp('tf.nipko3').getValue(), nidukopromotor4 : Ext.getCmp('tf.nipko4').getValue(), */ //SKRIPSI jdlskripsiind : Ext.getCmp('skripsi_ind').getValue(), jdlskripsieng : Ext.getCmp('skripsi_eng').getValue(), idpembimbing : Ext.getCmp('id_pembimbing').getValue(), idpembimbing1 : Ext.getCmp('id_pembimbing1').getValue(), nmperusahaan : Ext.getCmp('perusahaan').getValue(), tglperiode1 : Ext.getCmp('dari_tgl').getValue(), tglperiode2 : Ext.getCmp('sampai_tgl').getValue(), tglsidang : Ext.getCmp('tgl_sidang').getValue(), penyidang1 : Ext.getCmp('id_penyidang1').getValue(), penyidang2 : Ext.getCmp('id_penyidang2').getValue(), //LAINNYA email : Ext.getCmp('tf.email-mhs').getValue(), facebook : Ext.getCmp('tf.fb-mhs').getValue(), twitter : Ext.getCmp('tf.twit-mhs').getValue(), pinbb : Ext.getCmp('tf.pinbb-mhs').getValue(), website : Ext.getCmp('tf.web-mhs').getValue(), //abc : Ext.getCmp('').getValue(), foto : Ext.getCmp('frm.foto').getValue(), pass: Ext.getCmp('df.tglahir-mhs').getValue().format('dmY'), }); } function upload_foto_mhs(namaForm, Opsi) { if (Ext.getCmp('oto').getValue()!='Auto-Generate') { if(RH.isEmpty('tf.npm-mhs')){ RH.warning('NPM Mahasiswa harus diisi'); return; }; } if(RH.isEmpty('tf.nama-mhs')){ RH.warning('Nama Mahasiswa harus diisi'); return; }; if(RH.isEmpty('cb.gender-mhs')){ RH.warning('Jenis Kelamin harus diisi'); return; }; //if(RH.isEmpty('cb.agama-mhs')){ RH.warning('Agama harus diisi'); return; }; //if(RH.isEmpty('cb.wn-mhs')){ RH.warning('Kewarganegaraan harus diisi'); return; }; if(RH.isEmpty('cb.prodireg')){ RH.warning('Program Studi (Pendaftaran) harus diisi'); return; }; if(RH.isEmpty('cb.class')){ RH.warning('Kelas Mahasiswa (Pendaftaran) harus diisi'); return; }; if(RH.isEmpty('cb.thmasuk')){ RH.warning('Tahun Masuk (Pendaftaran) harus diisi'); return; }; if(RH.isEmpty('cb.stawal')){ RH.warning('Status Awal/Masuk (Pendaftaran) harus diisi'); return; }; fnSaveMahasiswa(Opsi); /* var form_nya = Ext.getCmp(namaForm); form_nya.getForm().submit({ url: BASE_URL + 'mahasiswa_controller/upload', method: 'POST', params: { oldphoto:Ext.getCmp('frm.foto').getValue(), newphoto:Ext.getCmp('file_gambar').getValue() }, success: function(form_bp_general, o) { if (o.result.success == 'true') { mhs_foto_ori(o.result.newfile); Ext.getCmp('frm.foto').setValue(o.result.newfile); fnSaveMahasiswa(Opsi); } else if (o.result.success == 'false1') { Ext.MessageBox.alert('Informasi', 'File ' + o.result.nama + ' gagal di upload, Ukuran file maksimal 800kb'); } else if (o.result.success == 'false2') { Ext.MessageBox.alert('Informasi', 'File ' + o.result.nama + ' gagal di upload, File harus ber tipe image'); } } }); */ } function SelectBaruPindahan(){ var a = Ext.getCmp("cb.stawal").getValue(); if (a == 'B') { Ext.getCmp("tab.slta").enable(); Ext.getCmp("tab.asalpt").disable(); } else { Ext.getCmp("tab.slta").disable(); Ext.getCmp("tab.asalpt").enable(); } }