Esempio n. 1
0
 /**
  * Menyimpan setiap input form ke rownya masing-masing.
  */
 public static function update_konfigurasi($input)
 {
     // update setiap value konfigurasi
     Konfigurasi::update(1, array('config_value' => $input['nama_kpp']));
     Konfigurasi::update(2, array('config_value' => $input['nama_seksi']));
     Konfigurasi::update(3, array('config_value' => $input['kode_surat']));
     Konfigurasi::update(5, array('config_value' => $input['jumlah_baris_surat_masuk']));
     Konfigurasi::update(6, array('config_value' => $input['jumlah_baris_surat_keluar']));
     Konfigurasi::update(7, array('config_value' => $input['jumlah_baris_pencarian_surat']));
     Konfigurasi::update(8, array('config_value' => $input['tampilkan_nomor_agenda']));
     // rules untuk konfigurasi tahun agar tidak mengacaukan pengurutan nomor
     $max_tahun_used = Suratkeluar::max('tahun');
     $msg_warning = NULL;
     if ($input['tahun_surat'] < $max_tahun_used) {
         // perubahan tahun tidak disimpan, return pesan warning
         $msg_warning = 'Perubahan tahun tidak dapat disimpan. ' . 'Untuk menggunakan kembali tahun: ' . $input['tahun_surat'] . ', silakan undo/batalkan semua Surat Keluar (<em>sangat tidak disarankan</em>) ' . 'yang telah menggunakan tahun: ' . $max_tahun_used . '.';
     } else {
         Konfigurasi::update(4, array('config_value' => $input['tahun_surat']));
     }
     // membuat message success dan warning ke dalam array
     $add_notes = isset($msg_warning) ? ' Lihat pesan warning!' : '';
     $msg_success = 'Konfigurasi berhasil diupdate.' . $add_notes;
     $msg = array();
     $msg['success'] = $msg_success;
     $msg['warning'] = $msg_warning;
     return $msg;
 }
Esempio n. 2
0
 public static function get_index()
 {
     $pagination_surat_masuk_locked = true;
     $pagination_surat_keluar_locked = true;
     $db_surat_masuk = Suratmasuk::index_surat($pagination_surat_masuk_locked);
     $db_surat_keluar = Suratkeluar::index_surat($pagination_surat_keluar_locked);
     return View::make('index.index')->with('title', 'Agenda Surat :: Beranda')->with('suratmasuks', $db_surat_masuk)->with('suratkeluars', $db_surat_keluar)->with('pagination_surat_masuk_locked', $pagination_surat_masuk_locked)->with('pagination_surat_keluar_locked', $pagination_surat_keluar_locked);
 }
Esempio n. 3
0
File: auth.php Progetto: kit9/agenda
 /**
  * Logout dan redirect ke login form
  */
 public function get_logout()
 {
     // Trigger:
     // Sebelum logout, mengkosongkan kembali isi folder 'pdf' dan 'files' dari file-file
     // lembar disposisi yang digenerate dan CSV yang diimport.
     Printpdf::empty_pdf_folder();
     Suratkeluar::empty_csv_folder();
     Auth::logout();
     return Redirect::to_route('login')->with('title', 'Agenda Surat :: Login');
 }
Esempio n. 4
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'];
     }
 }
Esempio n. 5
0
 public function get_print()
 {
     $input = Input::all();
     $input = Suratkeluar::lengkapi_array($input);
     $db_surat_keluar = Suratkeluar::print_surat($input);
     return View::make('suratkeluar.print')->with('title', 'Buku Agenda :: Print Surat Keluar')->with('suratkeluars', $db_surat_keluar);
 }