Example #1
0
 function add()
 {
     if (!$this->ion_auth->logged_in()) {
         redirect('auth/login', 'refresh');
     } else {
         $this->form_validation->set_rules('date_tidak_hadir', 'Tanggal Tidak Absen', 'trim|required');
         $this->form_validation->set_rules('keterangan', 'Keterangan', 'trim|required');
         $this->form_validation->set_rules('alasan', 'Alasan', 'trim|required');
         if ($this->form_validation->run() == FALSE) {
             //echo json_encode(array('st'=>0, 'errors'=>validation_errors('<div class="alert alert-danger" role="alert">', '</div>')));
             redirect('form_absen/input', 'refresh');
         } else {
             $user_id = $this->input->post('emp');
             $sess_id = $this->session->userdata('user_id');
             $data = array('id_comp_session' => 1, 'date_tidak_hadir' => date('Y-m-d', strtotime($this->input->post('date_tidak_hadir'))), 'keterangan_id' => $this->input->post('keterangan'), 'alasan' => $this->input->post('alasan'), 'user_app_lv1' => $this->input->post('atasan1'), 'user_app_lv2' => $this->input->post('atasan2'), 'user_app_lv3' => $this->input->post('atasan3'), 'created_on' => date('Y-m-d', strtotime('now')), 'created_by' => $sess_id);
             if ($this->input->post('potong_cuti') == 1) {
                 $user_nik = get_nik($user_id);
                 $date = $this->input->post('date_tidak_hadir');
                 $recid = $this->get_sisa_absen($user_id)[0]['RECID'];
                 $sisa_absen = $this->get_sisa_absen($user_id)[0]['ENTITLEMENT'] - 1;
                 $this->update_sisa_absen($recid, $sisa_absen);
                 $data2 = array('nik' => get_mchid($user_nik), 'jhk' => 1, 'cuti' => 1, 'tanggal' => date("d", strtotime($date)), 'bulan' => date("m", strtotime($date)), 'tahun' => date("Y", strtotime($date)), 'create_date' => date('Y-m-d', strtotime('now')), 'create_user_id' => $this->session->userdata('user_id'));
                 $this->db->insert('attendance', $data2);
             }
             if ($this->form_validation->run() == true && $this->form_absen_model->create_($user_id, $data)) {
                 $absen_id = $this->db->insert_id();
                 $user_app_lv1 = getValue('user_app_lv1', 'users_absen', array('id' => 'where/' . $absen_id));
                 $isi_email = get_name($user_id) . ' mengajukan keterangan tidak absen, untuk melihat detail silakan <a href=' . base_url() . 'form_absen/detail/' . $absen_id . '>Klik Disini</a><br />';
                 if ($user_id !== $sess_id) {
                     $this->approval->by_admin('absen', $absen_id, $sess_id, $user_id, $this->detail_email($absen_id));
                 }
                 if (!empty($user_app_lv1)) {
                     if (!empty(getEmail($user_app_lv1))) {
                         $this->send_email(getEmail($user_app_lv1), 'Pengajuan Keterangan Tidak Absen', $isi_email);
                     }
                     $this->approval->request('lv1', 'absen', $absen_id, $user_id, $this->detail_email($absen_id));
                 } else {
                     if (!empty(getEmail($this->approval->approver('absen')))) {
                         $this->send_email(getEmail($this->approval->approver('absen')), 'Pengajuan Keterangan Tidak Absen', $isi_email);
                     }
                     $this->approval->request('hrd', 'absen', $absen_id, $user_id, $this->detail_email($absen_id));
                 }
                 redirect('form_absen', 'refresh');
                 //echo json_encode(array('st' =>1));
             }
         }
     }
 }
Example #2
0
 function cek_all_approval($id)
 {
     $approval_status_id_lv1 = $this->db->where('users_cuti.id', $id)->get('users_cuti')->row('approval_status_id_lv1');
     $approval_status_id_lv2 = $this->db->where('users_cuti.id', $id)->get('users_cuti')->row('approval_status_id_lv2');
     $approval_status_id_lv3 = $this->db->where('users_cuti.id', $id)->get('users_cuti')->row('approval_status_id_lv3');
     $user_id = $this->db->where('users_cuti.id', $id)->get('users_cuti')->row('user_id');
     if ($approval_status_id_lv1 == 1 && $approval_status_id_lv2 == 1 && $approval_status_id_lv3 == 1) {
         // Start date
         $date = $this->db->where('users_cuti.id', $id)->get('users_cuti')->row('date_mulai_cuti');
         // End date
         $end_date = $this->db->where('users_cuti.id', $id)->get('users_cuti')->row('date_selesai_cuti');
         while (strtotime($date) <= strtotime($end_date)) {
             $data = array('nik' => get_mchid($user_id), 'jhk' => 1, 'cuti' => 1, 'tanggal' => date("d", strtotime($date)), 'bulan' => date("m", strtotime($date)), 'tahun' => date("Y", strtotime($date)), 'create_date' => date('Y-m-d', strtotime('now')), 'create_user_id' => $this->session->userdata('user_id'));
             $this->db->insert('attendance', $data);
             $date = date("Y-m-d", strtotime("+1 day", strtotime($date)));
         }
     }
 }
Example #3
0
 function update_attendance($id)
 {
     $user_nik = get_nik(getValue('user_id', 'users_cuti', array('id' => 'where/' . $id)));
     // Start date
     $date = getValue('date_mulai_cuti', 'users_cuti', array('id' => 'where/' . $id));
     // End date
     $end_date = getValue('date_selesai_cuti', 'users_cuti', array('id' => 'where/' . $id));
     while (strtotime($date) <= strtotime($end_date)) {
         $data = array('nik' => get_mchid($user_nik), 'jhk' => 1, 'cuti' => 1, 'tanggal' => date("d", strtotime($date)), 'bulan' => date("m", strtotime($date)), 'tahun' => date("Y", strtotime($date)), 'create_date' => date('Y-m-d', strtotime('now')), 'create_user_id' => $this->session->userdata('user_id'));
         $this->db->insert('attendance', $data);
         $date = date("Y-m-d", strtotime("+1 day", strtotime($date)));
     }
     $jml_hari_cuti = getValue('jumlah_hari', 'users_cuti', array('id' => 'where/' . $id));
     $recid = $this->get_sisa_cuti($user_nik)[0]['RECID'];
     $sisa_cuti = $this->get_sisa_cuti($user_nik)[0]['ENTITLEMENT'] - $jml_hari_cuti;
     $this->update_sisa_cuti($recid, $sisa_cuti);
 }
Example #4
0
 function login()
 {
     $this->data['title'] = "Login";
     //validate form input
     $this->form_validation->set_rules('identity', 'Identity', 'required');
     $this->form_validation->set_rules('password', 'Password', 'required');
     //check to see if the user is logging in
     $jsondata = file_get_contents(get_api_key() . 'users/lists/format/json');
     //convert json object to php associative array
     $data = json_decode($jsondata, true);
     //print_mz($data);
     if ($this->form_validation->run() == true) {
         $last_link = $this->session->userdata('last_link');
         $nik = $this->input->post('identity');
         $email = !empty($data['EMAIL']) ? $data['EMAIL'] : $this->input->post('identity');
         $user_id = !empty(get_id($nik)) ? get_id($nik) : get_id_by_email($email);
         $last_login = $this->db->select('last_login')->where('nik', $nik)->or_where('email', $email)->get('users')->row('last_login');
         $first_login = !empty($last_login) ? '' : '1';
         if ($this->ion_auth->login($this->input->post('identity'), $this->input->post('password'))) {
             if (!empty($last_link)) {
                 redirect($last_link);
             } else {
                 if (!is_admin()) {
                     redirect('person/detail/' . $user_id . '/' . $first_login, 'refresh');
                 }
                 $this->session->set_flashdata('message', $this->ion_auth->messages());
                 redirect('/', 'refresh');
             }
         } elseif ($this->cekNik($data, 'EMPLID', $this->input->post('identity')) == TRUE && $this->input->post('password') == 'password' && is_registered($this->input->post('identity')) == false) {
             $getdata = file_get_contents(get_api_key() . 'users/list/EMPLID/' . $this->input->post('identity') . '/format/json');
             $data = json_decode($getdata, true);
             $username = $data['NAME'];
             $password = $this->input->post('password');
             $additional_data = array('first_name' => $data['FIRSTNAME'], 'last_name' => $data['LASTNAME'], 'nik' => $this->input->post('identity'), 'bod' => date('Y-m-d', strtotime($data['BIRTHDATE'])), 'phone' => $data['PHONE'], 'marital_id' => $data['MARITALSTATUS'], 'previous_email' => $data['SMS'], 'bb_pin' => $data['PINBLACKBERRY']);
             if ($this->ion_auth->register($username, $password, $email, $additional_data)) {
                 $this->send_email_inventory($data['EMPLID']);
                 $mch = array('mchID' => get_mchid($nik));
                 $this->db->where('nik', $nik);
                 $this->db->update('users', $mch);
                 /*if( $this->send_email_notification($data['EMPLID'])){
                       $this->session->set_flashdata('message', 'Account is inactive');
                       redirect("auth/login", 'refresh');
                   }else{
                       $this->session->set_flashdata('message', 'Activation Is Inactive');
                       
                   }*/
                 $this->send_email_activation($data['EMPLID']);
                 $this->session->set_flashdata('message', 'Account is inactive');
                 redirect("auth/login", 'refresh');
             } else {
                 $this->session->set_flashdata('message', 'Wrong Password or Account is still inactive, Please Contact The Administrator');
                 redirect("auth/login", 'refresh');
             }
         } else {
             $this->session->set_flashdata('message', $this->ion_auth->errors());
             redirect('auth/login', 'refresh');
         }
     } else {
         //the user is not logging in so display the login page
         //set the flash data error message if there is one
         $this->data['message'] = validation_errors() ? validation_errors() : $this->session->flashdata('message');
         $this->data['identity'] = array('name' => 'identity', 'id' => 'identity', 'type' => 'text', 'value' => $this->form_validation->set_value('identity'), 'placeholder' => 'NIK / E-mail', 'required' => 'required');
         $this->data['password'] = array('name' => 'password', 'id' => 'password', 'type' => 'password', 'placeholder' => 'Password', 'required' => 'required');
         $this->_render_page('auth/login', $this->data);
     }
 }