Пример #1
0
 /**
  * Toggle status jenis surat sehingga hanya yg aktif saja yang akan ditampilkan dalam
  * dalam form input surat keluar. Untuk form edit surat keluar tetap ditampilkan, tetapi
  * tidak dapat diedit. Untuk form search surat keluar, ditampilkan dan dapat digunakan.
  */
 public static function toggle_jenissurat($id)
 {
     $current_aktif = Jenissurat::find($id)->aktif;
     $jumlah_aktif = Jenissurat::where('aktif', '=', 1)->count();
     if ($jumlah_aktif <= 1 && $current_aktif == 1) {
         $warning = 'Daftar jenis surat minimum 1 (satu) entry. Perubahan tidak dapat dilakukan.';
         $msg = array();
         $msg['msg_type'] = 'warning';
         $msg['message'] = $warning;
     } else {
         if ($current_aktif == 1) {
             $aktif_status = 0;
             Jenissurat::update($id, array('aktif' => $aktif_status));
         } else {
             $aktif_status = 1;
             Jenissurat::update($id, array('aktif' => $aktif_status));
         }
         $current_jenis_surat = Jenissurat::find($id)->jenis_surat;
         $message = 'Jenis surat: ' . $current_jenis_surat . ' berhasil diupdate.';
         $msg = array();
         $msg['msg_type'] = 'message';
         $msg['message'] = $message;
     }
     return $msg;
 }
Пример #2
0
 /**
  * Rekam file CSV yang terupload.
  */
 public static function upload_create($file, $input)
 {
     $csv_rows = array();
     // detect delimiter antara ',' atau ';'
     $allowed_header = array('tujuan');
     $csv_uploded = file($file, FILE_IGNORE_NEW_LINES);
     $csv_header = str_getcsv($csv_uploded[0], ',');
     $csv_header2 = str_getcsv($csv_uploded[0], ';');
     if ($csv_header == $allowed_header) {
         $csv_delimiter = ',';
     } else {
         if ($csv_header2 == $allowed_header) {
             $csv_delimiter = ';';
         } else {
             echo 'wrong delimiter';
             // FIXME throw error
             exit;
         }
     }
     // push data csv ke array
     if (isset($csv_delimiter)) {
         foreach ($csv_uploded as $line) {
             $csv_rows[] = str_getcsv($line, $csv_delimiter);
         }
         // remove header dari file csv
         unset($csv_rows[0]);
         $i = $input;
         $cfg_kode_surat = Konfigurasi::find(3)->config_value;
         $cfg_tahun_surat = Konfigurasi::find(4)->config_value;
         $jenis = Jenissurat::find($i['jenis']);
         $pengirim = Disposisi::find($i['pengirim']);
         $tanggal = $i['tanggal'];
         $hal = $i['hal'];
         // remove header dari file csv
         unset($csv_rows[0]);
         $jumlah = 0;
         foreach ($csv_rows as $tujuan) {
             $tujuan = trim($tujuan[0]);
             if (!empty($tujuan)) {
                 // Menentukan urutan selanjutnya untuk jenis surat X, dengan cara
                 // "mengambil nomor urut jenis surat X terakhir" untuk nanti diincrement saat direkam ke database
                 // -Fluent query-
                 // Rulesnya: apabila tahun surat terakhir masih sama dengan tahun konfigurasi
                 // surat, maka nomor urut dilanjutkan.
                 // Apabila berbeda tahun, maka direset menjadi 1.
                 $last_number = DB::table('surat_keluar')->where('jenis_surat', '=', $jenis->jenis_surat)->order_by('id', 'desc')->only('nomor_urut');
                 $last_surat_tahun = DB::table('surat_keluar')->where('jenis_surat', '=', $jenis->jenis_surat)->order_by('id', 'desc')->only('tahun');
                 if ($last_surat_tahun == $cfg_tahun_surat) {
                     $now_number = $last_number + 1;
                 } else {
                     $now_number = 1;
                 }
                 // -Eloquent query-
                 Suratkeluar::create(array('jenis_surat' => $jenis->jenis_surat, 'nomor_urut' => $now_number, 'kode_surat' => $cfg_kode_surat, 'tahun' => $cfg_tahun_surat, 'tgl_surat' => $tanggal, 'pengirim' => $pengirim->nama, 'tujuan' => $tujuan, 'hal' => $hal, 'perekam' => Auth::user()->username, 'diupdate' => Auth::user()->username));
                 $jumlah++;
             }
         }
         $message = 'Surat Keluar Seksi sebanyak ' . $jumlah . ' surat berhasil direkam.';
         $a['message'] = $message;
         return $a['message'];
     }
 }
Пример #3
0
 public function get_jenissurat_toggle($id)
 {
     if (is_object(Jenissurat::find($id))) {
         $toggle = Jenissurat::toggle_jenissurat($id);
         return Redirect::to_route('settings_jenissurat')->with($toggle['msg_type'], $toggle['message']);
     } else {
         // return error 404 apabila mengakses ID surat yg tidak ada di database
         return View::make('error.404');
     }
 }
	<div class="row morevspace">
		<hr>
		<table class='displaytable'>
			<thead>
				<tr>
					<th class="span4">Nomor Surat</th>
					<th class="span1">Tanggal</th>
					<th class="span3">Tujuan</th>
					<th>Hal</th>
					<th>Pengirim</th>
				</tr>
			</thead>
			<tbody>
			<?php 
$nomor_surat = Jenissurat::find($input['jenis'])->jenis_surat . 'XXX' . Konfigurasi::find(3)->config_value . Konfigurasi::find(4)->config_value;
?>
			@foreach($csv_rows as $suratkeluar)
				<tr>
					<td>{{ $nomor_surat }}</td>
					<td>{{ $input['tanggal'] }}</td>
					<td>{{ e($suratkeluar[0]) }}</td>
					<td>{{ $input['hal'] }}</td>
					<td>{{ Disposisi::find($input['pengirim'])->nama }}</td>
				</tr>
			@endforeach

			@if (empty($csv_rows))
				 <tr>
				 	<td colspan="5"><em>Warning: file kosong....</em><td>
				 </tr>