Example #1
0
 /**
  * @author NamNT
  * action index
  */
 public function action_index()
 {
     $data = array();
     $is_view = array();
     $model = new \Model_Person();
     $employment = new \Model_Employment();
     $model_job = new \Model_Job();
     $model_order = new \Model_Orders();
     $model_user = new \Model_Muser();
     $sssale_id = null;
     $sssale_id_view = null;
     $order_id = null;
     $post_id = null;
     $data['person_info'] = null;
     $data['edit_person'] = null;
     $data['post_id'] = null;
     $data['job_id'] = $model_job->get_list_id();
     $data['person_id'] = \Input::get('person_id');
     $data['listusers_interview'] = array();
     $data['listusers_agreement'] = array();
     $data['listusers_training'] = array();
     $data['listusers_business'] = array();
     if (\Input::get('order_id')) {
         $order_id = \Input::get('order_id');
         $od = $model_order->get_order_info($order_id);
         $post_id = $od['post_id'];
         $data['post_id'] = $post_id;
         $data['order'] = $od;
         $data['order'] = $model_user->get_user_info_path($od['interview_user_id'], 'interview', $data['order']);
         $data['order'] = $model_user->get_user_info_path($od['agreement_user_id'], 'agreement', $data['order']);
         $data['order'] = $model_user->get_user_info_path($od['training_user_id'], 'training', $data['order']);
     }
     if (\Input::get('person_id')) {
         $person_info = \Model_Person::find(\Input::get('person_id'));
         $data['edit_person'] = $person_info;
         $data['edit_person']['interview_department_id'] = '';
         $data['edit_person']['agreement_department_id'] = '';
         $data['edit_person']['training_department_id'] = '';
         $data['edit_person']['business_department_id'] = '';
         $data['edit_person']['listusers_interview'] = array();
         $data['edit_person']['listusers_agreement'] = array();
         $data['edit_person']['listusers_training'] = array();
         $data['edit_person']['listusers_business'] = array();
         $data['edit_person'] = $model_user->get_user_info_path($person_info->interview_user_id, 'interview', $data['edit_person']);
         $data['edit_person'] = $model_user->get_user_info_path($person_info->agreement_user_id, 'agreement', $data['edit_person']);
         $data['edit_person'] = $model_user->get_user_info_path($person_info->training_user_id, 'training', $data['edit_person']);
         $data['edit_person'] = $model_user->get_user_info_path($person_info->business_user_id, 'business', $data['edit_person']);
         $data['person_info'] = $data['edit_person'];
         if ($edit_data = $person_info->edit_data) {
             $person_info['application_date'] = substr($person_info['application_date'], 0, 16);
             $data['edit_person'] = json_decode($edit_data, true);
             $data['edit_person']['interview_user_id'] = isset($data['edit_person']['interview_user_id']) ? $data['edit_person']['interview_user_id'] : '';
             $data['edit_person']['agreement_user_id'] = isset($data['edit_person']['agreement_user_id']) ? $data['edit_person']['agreement_user_id'] : '';
             $data['edit_person']['training_user_id'] = isset($data['edit_person']['training_user_id']) ? $data['edit_person']['training_user_id'] : '';
             $data['edit_person']['business_user_id'] = isset($data['edit_person']['business_user_id']) ? $data['edit_person']['business_user_id'] : '';
             $data['edit_person']['interview_department_id'] = '';
             $data['edit_person']['agreement_department_id'] = '';
             $data['edit_person']['business_department_id'] = '';
             $data['edit_person']['training_department_id'] = '';
             $data['edit_person']['listusers_interview'] = array();
             $data['edit_person']['listusers_agreement'] = array();
             $data['edit_person']['listusers_training'] = array();
             $data['edit_person']['listusers_business'] = array();
             $data['edit_person'] = $model_user->get_user_info_path($data['edit_person']['interview_user_id'], 'interview', $data['edit_person']);
             $data['edit_person'] = $model_user->get_user_info_path($data['edit_person']['agreement_user_id'], 'agreement', $data['edit_person']);
             $data['edit_person'] = $model_user->get_user_info_path($data['edit_person']['training_user_id'], 'training', $data['edit_person']);
             $data['edit_person'] = $model_user->get_user_info_path($data['edit_person']['business_user_id'], 'business', $data['edit_person']);
             $data['is_view'] = \Utility::compare_json_data($person_info, $edit_data);
         }
     }
     $data_filter['field'] = array('step' => 4, 'type' => 1, 'label' => array('group' => 'グループ', 'partner' => '取引先(受注先)', 'ss' => 'SS', 'sslist' => '売上形態'));
     if ($data['edit_person']) {
         $sssale_id = $data['edit_person']['sssale_id'];
     }
     if ($data['person_info']) {
         $sssale_id_view = $data['person_info']['sssale_id'];
     }
     $data_filter['datafilter'] = \Presenter_Group_Filter::edit($data_filter['field']['step'], $data_filter['field']['type'], $sssale_id, $sssale_id_view);
     if (\Input::method() == 'POST') {
         $datas = array();
         $dataPost = \Input::post();
         $datas = $model->get_person_data($dataPost);
         $action = 'add';
         foreach (\Input::post() as $key => $value) {
             if (\Input::post($key) == '') {
                 $datas[$key] = null;
             }
         }
         if (!\Model_Sssale::find_by_pk($datas['sssale_id'])) {
             Session::set_flash('error', '売上形態は存在しません');
         } else {
             if (\Input::get('person_id')) {
                 $action = 'edit';
                 if (!($model = $model->find(\Input::get('person_id')))) {
                     Session::set_flash('error', '応募者は存在しません');
                     Response::redirect('job/persons');
                 }
                 $model->status = \Constants::$_status_person['pending'];
                 $data_temp = Input::post();
                 if (!$data_temp['business_user_id']) {
                     $data_temp['business_user_id'] = $this->get_default_business_user_id($data_temp['sssale_id']);
                 }
                 if (!$data_temp['interview_user_id']) {
                     $data_temp['interview_user_id'] = $this->get_default_business_user_id($data_temp['sssale_id']);
                 }
                 if (!$data_temp['agreement_user_id']) {
                     $data_temp['agreement_user_id'] = $this->get_default_business_user_id($data_temp['sssale_id']);
                 }
                 $model->edit_data = json_encode($model->get_person_data($data_temp));
                 if ($model->save()) {
                     Session::set_flash('success', \Constants::$message_create_success);
                     Response::redirect(Uri::base() . 'job/persons');
                 }
             } else {
                 $datas['created_at'] = date('Y-m-d H:i:s');
                 if (!$datas['business_user_id']) {
                     $datas['business_user_id'] = $this->get_default_business_user_id($datas['sssale_id']);
                 }
                 if (!$datas['interview_user_id']) {
                     $datas['interview_user_id'] = $this->get_default_business_user_id($datas['sssale_id']);
                 }
                 if (!$datas['agreement_user_id']) {
                     $datas['agreement_user_id'] = $this->get_default_business_user_id($datas['sssale_id']);
                 }
                 $model->set($datas);
                 if ($model->save()) {
                     if ($action == 'add') {
                         $person_obj = $model->find($model->person_id);
                         $sssale_id_mail = $person_obj->sssale_id != '' ? $person_obj->sssale_id : 0;
                         $person_data = $model->get_data_for_mail($sssale_id_mail);
                         if (count($person_data)) {
                             //send mail
                             $model_user = new \Model_Muser();
                             $department_id = $person_data['0']['department_id'] ? $person_data['0']['department_id'] : 0;
                             $list_email_department = $model_user->get_list_mail_department($department_id);
                             $datamail_department = array('m_group' => isset($person_data['0']['name']) ? $person_data['0']['name'] : '', 'branch_name' => isset($person_data['0']['branch_name']) ? $person_data['0']['branch_name'] : '', 'ss_name' => isset($person_data['0']['ss_name']) ? $person_data['0']['ss_name'] : '', 'sale_name' => isset($person_data['0']['sale_name']) ? $person_data['0']['sale_name'] : '', 'list_emails' => $list_email_department, 'last_id' => $model->person_id);
                             $model->sendmail_department($datamail_department);
                         }
                     }
                     Session::set_flash('success', \Constants::$message_create_success);
                 } else {
                     Session::set_flash('error', \Constants::$message_create_error);
                 }
             }
         }
         if (\Fuel\Core\Cookie::get('person_url')) {
             Response::redirect(\Fuel\Core\Cookie::get('person_url'));
         } else {
             Response::redirect('job/persons');
         }
     }
     $this->template->title = 'UOS求人システム';
     $this->template->content = \View::forge('persons/person', $data);
     $this->template->content->filtergroup = \Presenter::forge('group/filter')->set('custom', $data_filter);
 }