Skip to content

Commit

Permalink
Merge branch 'roaddee-Penghasilan-Orang-Tua' #1004
Browse files Browse the repository at this point in the history
  • Loading branch information
eddieridwan committed Apr 13, 2019
2 parents c5b0245 + a6018ab commit 7bd326f
Show file tree
Hide file tree
Showing 10 changed files with 309 additions and 13 deletions.
32 changes: 30 additions & 2 deletions assets/js/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -290,8 +290,8 @@ $(document).ready(function()
$(this).closest('.form-group').find('.hari').val(hari[i]);
});

$('[checked="checked"]').parent().addClass('active')
//Fortmat Tabel
$('[checked="checked"]').parent().addClass('active');
//Format Tabel
$('#tabel1').DataTable();
$('#tabel2').DataTable({
'paging' : false,
Expand Down Expand Up @@ -336,8 +336,36 @@ $('[checked="checked"]').parent().addClass('active')
$('select[name=pamong_ttd]').trigger('change');
$('select[name=pamong_ketahui]').trigger('change');

// Untuk input rupiah di form surat
// Tambahkan 'Rp.' pada saat form di ketik
// gunakan fungsi formatRupiah() untuk mengubah angka yang di ketik menjadi format angka
$('.rupiah').keyup(function(e) {
var nilai = formatRupiah($(this).val(), 'Rp. ');
$(this).val(nilai);
});

});

/* Fungsi formatRupiah untuk form surat */
function formatRupiah(angka, prefix, nol_sen=true)
{
var number_string = angka.replace(/[^,\d]/g, '').toString(),
split = number_string.split(','),
sisa = split[0].length % 3,
rupiah = split[0].substr(0, sisa),
ribuan = split[0].substr(sisa).match(/\d{3}/gi);

// tambahkan titik jika yang di input sudah menjadi angka ribuan
if (ribuan)
{
separator = sisa ? '.' : '';
rupiah += separator + ribuan.join('.');
}

rupiah = split[1] != undefined ? rupiah + (nol_sen ? '' : ',' + split[1]) : rupiah;
return prefix == undefined ? rupiah : (rupiah ? 'Rp. ' + rupiah : '');
}

function scrollTampil(elem)
{
elem.scrollIntoView({behavior: 'smooth'});
Expand Down
1 change: 1 addition & 0 deletions catatan_rilis_19.04-pasca.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@ Lengkapnya, isi rilis versi 19.04-pasca:
11. #1945: Ubah format tanggal surat terakhir di form surat menjadi seperti 23 Maret 2019 10:36:45.
12. #1979: Perbaiki supaya nama file foto artikel yg diunggah bisa berisi karakter seperti '('. [bug-fix]
13. Perbaiki supaya view penduduk_hidup tidak terhapus pada menu Pengaturan > Database > Kosongkan DB. [bug-fix]
14. #1004: Tambah Surat Keterangan Penghasilan Orangtua beserta fungsi helper penampilan tulisan bilangan rupiah.

Apabila meng-upgrade (yaitu bukan install baru) dari versi SEBELUM versi 19.04-pasca, struktur database dan/atau folder desa perlu diubah dengan menjalankan fitur Database > Migrasi DB. Fitur migrasi ini melakukan perubahan database dan/atau folder desa yang diperlukan.
121 changes: 111 additions & 10 deletions donjo-app/helpers/donjolib_helper.php
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,22 @@ function Rupiah3($nil=0){
if($rp != 0){return "$rp";}else{return "-";}
}

function to_rupiah($inp=''){
$outp = str_replace('.', '', $inp);
$outp = str_replace(',', '.', $outp);
return $outp;
}

function rp($inp=0){
return number_format($inp, 2, ',', '.');
}

function rupiah24($angka)
{
$hasil_rupiah = "Rp " . number_format($angka,2,',','.');
return $hasil_rupiah;
}

function jecho($a,$b,$str){
if($a==$b){
echo $str;
Expand Down Expand Up @@ -265,16 +281,6 @@ function tiga_digit($i){
return $o;
}

function to_rupiah($inp=''){
$outp = str_replace('.', '', $inp);
$outp = str_replace(',', '.', $outp);
return $outp;
}

function rp($inp=0){
return number_format($inp, 2, ',', '.');
}

function pertumbuhan($a=1,$b=1,$c=1,$d=1){
$x=0;
$y=0;
Expand Down Expand Up @@ -547,3 +553,98 @@ function hash_pin($pin="")
return $pin;
}

/*
* =======================================
* Rupiah terbilang
*/
function number_to_words($number, $nol_sen=true)
{
$before_comma = trim(to_word($number));
$after_comma = trim(comma($number));
$result = $before_comma . ($nol_sen ? '' : ' koma ' . $after_comma);
return ucwords($result . ' Rupiah');
}

function to_word($number)
{
$words = "";
$arr_number = array(
"",
"satu",
"dua",
"tiga",
"empat",
"lima",
"enam",
"tujuh",
"delapan",
"sembilan",
"sepuluh",
"sebelas");

if ($number < 12)
{
$words = " ".$arr_number[$number];
}
else if ($number < 20)
{
$words = to_word($number - 10)." belas";
}
else if ($number < 100)
{
$words = to_word($number / 10)." puluh".to_word($number % 10);
}
else if ($number < 200)
{
$words = "seratus ".to_word($number - 100);
}
else if ($number < 1000)
{
$words = to_word($number / 100)." ratus".to_word($number % 100);
}
else if ($number < 2000)
{
$words = "seribu ".to_word($number - 1000);
}
else if ($number < 1000000)
{
$words = to_word($number / 1000)." ribu".to_word($number % 1000);
}
else if ($number < 1000000000)
{
$words = to_word($number / 1000000)." juta".to_word($number % 1000000);
}
else
{
$words = "undefined";
}
return $words;
}

function comma($number)
{
$after_comma = stristr($number, ',');
$arr_number = array(
"nol",
"satu",
"dua",
"tiga",
"empat",
"lima",
"enam",
"tujuh",
"delapan",
"sembilan");

$results = "";
$length = strlen($after_comma);
$i = 1;
while ($i < $length)
{
$get = substr($after_comma, $i, 1);
$results .= " ".$arr_number[$get];
$i++;
}
return $results;
}
// =======================================
13 changes: 13 additions & 0 deletions donjo-app/models/Database_model.php
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,19 @@ private function _migrasi_db_cri()
private function migrasi_1904_ke_1905()
{
$this->db->where('id', 62)->update('setting_modul', array('url'=>'gis/clear', 'aktif'=>'1'));
// Tambah surat keterangan penghasilan orangtua
$data = array(
'nama'=>'Keterangan Penghasilan Orangtua',
'url_surat'=>'surat_ket_penghasilan_orangtua',
'kode_surat'=>'S-42',
'jenis'=>1);
$sql = $this->db->insert_string('tweb_surat_format', $data);
$sql .= " ON DUPLICATE KEY UPDATE
nama = VALUES(nama),
url_surat = VALUES(url_surat),
kode_surat = VALUES(kode_surat),
jenis = VALUES(jenis)";
$this->db->query($sql);
}

private function migrasi_1903_ke_1904()
Expand Down
2 changes: 1 addition & 1 deletion donjo-app/models/Surat_model.php
Original file line number Diff line number Diff line change
Expand Up @@ -486,7 +486,7 @@ public function bersihkan_kode_isian($buffer_in)
// Regex ini untuk membersihkan kode isian dari karakter yang dimasukkan oleh Word
// Regex ini disusun berdasarkan RTF yang dihasilkan oleh Word 2011 di Mac.
// Perlu diverifikasi regex ini berlaku juga untuk RTF yang dihasilkan oleh versi Word lain.
$regex = "/(\}.?#)|rtlch.?#|fcs.?#+|afs.?\d#+|f\d*?\d#|fs\d*?\d#|af\d*?\d#+|ltrch#+|insrsid\d*?\d#+|alang\d+#+|lang\d+|langfe\d+|langnp\d+|langfenp\d+|b#+|ul#+|hich#+|dbch#+|loch#+|charrsid\d*?\d#+|#+/";
$regex = "/(\}.?#)|rtlch.?#|cf\d#|fcs.?#+|afs.?\d#+|f\d*?\d#|fs\d*?\d#|af\d*?\d#+|ltrch#+|insrsid\d*?\d#+|alang\d+#+|lang\d+|langfe\d+|langnp\d+|langfenp\d+|b#+|ul#+|hich#+|dbch#+|loch#+|charrsid\d*?\d#+|#+/";
$kode_isian = preg_replace($regex, "", $kode_isian);
$buffer_out .= $kode_isian;
break;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php if (!defined('BASEPATH')) exit ('No direct script access allowed');
// ----- surat keterangan penghasilan orang tua
// -- penghasilan ayah
if (isset($input['hasil_ayah']))
$hasil_ayah = preg_replace("/[^0-9,]/", "", $input['hasil_ayah']);
$buffer = str_replace("[hasil_ayah]", Rupiah($hasil_ayah), $buffer);
$buffer = str_replace("[tbl_hasil_ayah]", ucwords(number_to_words($hasil_ayah)), $buffer);
// -- penghasilan ibu
if (isset($input['hasil_ibu']))
$hasil_ibu = preg_replace("/[^0-9]/", "", $input['hasil_ibu']);
$buffer = str_replace("[hasil_ibu]", Rupiah($hasil_ibu), $buffer);
$buffer = str_replace("[tbl_hasil_ibu]", ucwords(number_to_words($hasil_ibu)), $buffer);
// -------------------- total penghasilan ayah + ibu
$buffer = str_replace("[total_hasil]", rupiah24($hasil_ayah+$hasil_ibu), $buffer);
// -------------------- total penghasilan ayah + ibu (terbilang)
$buffer = str_replace("[tbl_total_hasil]", ucwords(number_to_words($hasil_ayah+$hasil_ibu)), $buffer);
// ---------------------
?>
10 changes: 10 additions & 0 deletions surat/surat_ket_penghasilan_orangtua/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>

<p>Directory access is forbidden.</p>

</body>
</html>
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
<style>
.error {
color: #dd4b39;
}
</style>

<div class="content-wrapper">
<section class="content-header">
<h1>Surat Keterangan Penghasilan Orang Tua</h1>
<ol class="breadcrumb">
<li><a href="<?= site_url('hom_desa/about')?>"><i class="fa fa-dashboard"></i> Home</a></li>
<li><a href="<?= site_url('surat')?>"> Daftar Cetak Surat</a></li>
<li class="active">Surat Keterangan Penghasilan Orang Tua</li>
</ol>
</section>
<section class="content">
<div class="row">
<div class="col-md-12">
<div class="box box-info">
<div class="box-header with-border">
<a href="<?=site_url("surat")?>" class="btn btn-social btn-flat btn-info btn-sm btn-sm visible-xs-block visible-sm-inline-block visible-md-inline-block visible-lg-inline-block" title="Kembali Ke Daftar Wilayah">
<i class="fa fa-arrow-circle-left "></i>Kembali Ke Daftar Cetak Surat
</a>
</div>
<div class="box-body">
<form action="" id="main" name="main" method="POST" class="form-horizontal">
<div class="form-group">
<label for="nik" class="col-sm-3 control-label">NIK / Nama</label>
<div class="col-sm-6 col-lg-4">
<select class="form-control required input-sm select2" id="nik" name="nik" style ="width:100%;" onchange="formAction('main')">
<option value="">-- Cari NIK / Nama Penduduk --</option>
<?php foreach ($penduduk as $data): ?>
<option value="<?= $data['id']?>" <?php if ($individu['nik']==$data['nik']): ?>selected<?php endif; ?>>NIK : <?= $data['nik']." - ".$data['nama']?></option>
<?php endforeach;?>
</select>
</div>
</div>
</form>
<form id="validasi" action="<?= $form_action?>" method="POST" target="_blank" class="form-surat form-horizontal">
<input type="hidden" id="url_surat" name="url_surat" value="<?= $url ?>">
<input type="hidden" id="url_remote" name="url_remote" value="<?= site_url('surat/nomor_surat_duplikat')?>">
<?php if ($individu): ?>
<?php include("donjo-app/views/surat/form/konfirmasi_pemohon.php"); ?>
<?php endif; ?>
<div class="row jar_form">
<label for="nomor" class="col-sm-3"></label>
<div class="col-sm-8">
<input class="required" type="hidden" name="nik" value="<?= $individu['id']?>">
</div>
</div>
<div class="form-group">
<label for="nomor" class="col-sm-3 control-label">Nomor Surat</label>
<div class="col-sm-8">
<input id="nomor" class="form-control input-sm required" type="text" placeholder="Nomor Surat" name="nomor" value="<?= $surat_terakhir['no_surat_berikutnya'];?>">
<p class="help-block text-red small"><?= $surat_terakhir['ket_nomor']?><strong><?= $surat_terakhir['no_surat'];?></strong> (tgl: <?= $surat_terakhir['tanggal']?>)</p>
</div>
</div>
<div class="form-group">
<label for="keperluan" class="col-sm-3 control-label">Nomor Induk Siswa/Mahasiswa</label>
<div class="col-sm-8">
<textarea name="nomor_induk" class="form-control input-sm required" placeholder="Nomor Induk Siswa/Mahasiswa"></textarea>
</div>
</div>
<div class="form-group">
<label for="keterangan" class="col-sm-3 control-label">Sekolah/Perguruan Tinggi</label>
<div class="col-sm-8">
<textarea id="sekolah_pt" class="form-control input-sm required" placeholder="Sekolah/Perguruan Tinggi" name="sekolah_pt"></textarea>
</div>
</div>
<div class="form-group">
<label for="keperluan" class="col-sm-3 control-label">Kelas/Semester</label>
<div class="col-sm-8">
<textarea name="kelas_semester" class="form-control input-sm required" placeholder="Kelas/Semester"></textarea>
</div>
</div>
<div class="form-group">
<label for="jurussan" class="col-sm-3 control-label">Jurusan/Fakultas/Prodi</label>
<div class="col-sm-8">
<textarea name="jurusan" class="form-control input-sm required" placeholder="Jurusan/Fakultas/Prodi"></textarea>
</div>
</div>

<div class="form-group">
<label for="keperluan" class="col-sm-3 control-label">Jumlah Penghasilan Ayah</label>
<div class="col-sm-8">
<input type="text" id="rupiah_ayah" name="hasil_ayah" class="rupiah form-control input-sm required" placeholder="Penghasilan Ayah dalam Rupiah tanpa sen"></input>
</div>
</div>
<div class="form-group">
<label for="keperluan" class="col-sm-3 control-label">Jumlah Penghasilan Ibu</label>
<div class="col-sm-8">
<input type="text" id="rupiah_ibu" name="hasil_ibu" class="rupiah form-control input-sm required" placeholder="Penghasilan Ibu dalam Rupiah tanpa sen"></input>
</div>
</div>

<div class="form-group">
<label for="berlaku_dari" class="col-sm-3 control-label">Berlaku Dari - Sampai</label>
<div class="col-sm-3 col-lg-2">
<div class="input-group input-group-sm date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input title="Pilih Tanggal" id="tgl_mulai" class="form-control input-sm required" name="berlaku_dari" type="text"/>
</div>
</div>
<div class="col-sm-3 col-lg-2">
<div class="input-group input-group-sm date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input title="Pilih Tanggal" id="tgl_akhir" class="form-control input-sm required" name="berlaku_sampai" type="text"/>
</div>
</div>
</div>

<?php include("donjo-app/views/surat/form/_pamong.php"); ?>
</form>
</div>
<?php include("donjo-app/views/surat/form/tombol_cetak.php"); ?>
</div>
</div>
</div>
</section>
</div>

Large diffs are not rendered by default.

0 comments on commit 7bd326f

Please sign in to comment.