Exemple #1
0
 public function action_index()
 {
     $this->template->title = 'UOS求人システム';
     $order_id = \Input::get('order_id');
     $action = \Input::get('action');
     //presenter group settings
     $datafilter['field'] = array('step' => 3, 'type' => 1, 'label' => array('group' => 'グループ', 'partner' => '取引先(受注先)'));
     $model_orders = new \Model_Orders();
     $model_user = new \Model_Muser();
     $data = array();
     $data['remaining_cost'] = 0;
     $data['listusers_sales'] = array();
     $data['listusers_interview'] = array();
     $data['listusers_agreement'] = array();
     $data['listusers_training'] = array();
     $data['listusers_author'] = array();
     $data['info'] = $model_orders->get_order_info($order_id);
     //user logging
     $user_login = Session::get('login_info');
     if ($order_id) {
         if (empty($data['info']['order_id'])) {
             \Response::redirect(\Uri::base() . 'job/orders?lost=true');
         }
         //permision
         /*
         			if($action != 'copy' && $data['info']['status'] == 3)
         			{
         				\Response::redirect(\Uri::base().'job/orders?permission=false');
         			}
         *
         */
         $datafilter['datafilter'] = \Presenter_Group_Filter::edit($datafilter['field']['step'], $datafilter['field']['type'], $data['info']['ss_id']);
         $data = $model_user->get_user_info_path($data['info']['author_user_id'], 'author', $data);
         //$data = $model_user->get_user_info_path($data['info']['sales_user_id'],'sales',$data);
         $data = $model_user->get_user_info_path($data['info']['interview_user_id'], 'interview', $data);
         $data = $model_user->get_user_info_path($data['info']['agreement_user_id'], 'agreement', $data);
         $data = $model_user->get_user_info_path($data['info']['training_user_id'], 'training', $data);
     }
     //get list ss
     $model_ss = new \Model_Mss();
     $data['listss'] = $model_ss->get_list_all_ss();
     $model_group = new \Model_Mgroups();
     $data['listgroup'] = $model_group->get_all();
     $result = 'error';
     $message = '保存に失敗しました。';
     if (\Input::method() == 'POST') {
         if ($order_id && !\Model_Orders::find_by_pk($order_id)) {
             \Session::set_flash($result, 'オーダーは存在しません');
             return \Response::redirect('job/orders');
         }
         $post = \Input::post();
         $check = true;
         $post['ss_list'] = isset($post['ss_list']) ? $post['ss_list'] : array();
         foreach ($post['ss_list'] as $k => $v) {
             if ($v != '' && !\Model_Mss::find_by_pk($v)) {
                 $message = 'SSは存在しません';
                 $check = false;
                 break;
             }
         }
         if (!\Model_Mpost::find_by_pk($post['list_post'])) {
             $message = '媒体は存在しません';
             $check = false;
         }
         if (!\Model_Mss::find_by_pk($post['ss_id'])) {
             $message = 'SSは存在しません';
             $check = false;
         }
         if ($check && ($last = $model_orders->order_save($post, $action, $order_id))) {
             if ($order_id == null || $action == 'copy') {
                 $user_id = $user_login['user_id'];
                 $user_info = $model_user->get_user_info($user_id);
                 $department_id = $user_login['department_id'];
                 if ($user_info) {
                     $department_id = $user_info['department_id'];
                 }
                 $list_emails = $model_user->get_list_email_by_departmentid($department_id, $user_id, 99);
                 $maildata = array('order_id' => $last[0], 'department_name' => isset($user_info['department_id']) ? \Constants::$department[$user_info['department_id']] : '', 'list_emails' => $list_emails);
                 $maildata['m_user_name'] = isset($user_info['name']) ? $user_info['name'] : '';
                 $model_orders->sendmail(99, $maildata, $user_id);
             }
             $result = 'success';
             $message = '保存しました';
         }
         \Session::set_flash($result, $message);
         $return_url_search = \Cookie::get('return_url_search');
         if ($return_url_search) {
             return \Fuel\Core\Response::redirect($return_url_search);
         }
         return \Response::redirect('job/orders');
     }
     $data['post_id_isset'] = false;
     if ($data['info']['post_id']) {
         if (\Model_Mpost::find_by_pk($data['info']['post_id'])) {
             $data['post_id_isset'] = true;
         }
     }
     $data['properties'] = $model_orders->data_default;
     $this->template->content = \View::forge('orders/input', $data);
     $this->template->content->filtergroup = \Presenter::forge('group/filter')->set('custom', $datafilter);
 }
Exemple #2
0
 public function action_update_status()
 {
     if (\Input::method() == 'POST') {
         $status = \Input::post('status');
         $order_id = \Input::post('order_id');
         $reason = \Input::post('reason', null);
         $result = 'error';
         $message = '保存に失敗しました。';
         $model_orders = new \Model_Orders();
         $order_info = \Model_Orders::find_by_pk($order_id);
         if (!$order_info) {
             return 'failed';
         }
         if ($status == 2) {
             if ($user_login = Session::get('login_info')) {
                 $model_orders->order_update(array('order_user_id' => $user_login['user_id']), $order_id);
             }
         }
         $db_status = array('status' => $status);
         if ($model_orders->order_update($db_status, $order_id)) {
             if ($status == 1 || $status == -1) {
                 //get list media
                 $model_media = new \Model_Mmedia();
                 $listmedias = $model_media->get_list_all_media();
                 $media_name = null;
                 if ($order_info->post_id && $listmedias != null) {
                     $listmedias = array_column($listmedias, 'media_name', 'm_media_id');
                     $post_info = \Model_Mpost::find_by_pk($order_info->post_id);
                     if ($post_info) {
                         $media_id = $post_info->m_media_id;
                         $media_name = isset($listmedias[$media_id]) ? $listmedias[$media_id] : null;
                     }
                 }
                 //get list ss
                 $model_ss = new \Model_Mss();
                 $listss = $model_ss->get_list_all_ss();
                 $ssitem = null;
                 if ($order_info->ss_list && $listss != null) {
                     $listss_name = array_column($listss, 'ss_name', 'ss_id');
                     $ss_list_item = explode(',', trim($order_info->ss_list, ','));
                     foreach ($ss_list_item as $key => $value) {
                         if (array_key_exists($value, $listss_name)) {
                             $ssitem .= $listss_name[$value] . ',';
                         }
                     }
                 }
                 $ssitem = trim($ssitem, ',');
                 $agreement_type = null;
                 if ($order_info->agreement_type) {
                     $agreement = \Model_Sssale::find_by_pk($order_info->agreement_type);
                 }
                 $agreement_type = isset($agreement->sale_name) ? $agreement->sale_name : null;
                 if ($order_info->ss_id) {
                     $ss_info = \Model_Mss::find_by_pk($order_info->ss_id);
                     $ss_name = isset($ss_info->ss_name) ? $ss_info->ss_name : null;
                 }
                 $model_user = new \Model_Muser();
                 //user logging
                 $user_login = \Session::get('login_info');
                 $user_id = $user_login['user_id'];
                 $user_info = $model_user->get_user_info($user_id);
                 $department_id = $user_login['department_id'];
                 if ($user_info) {
                     $department_id = $user_info['department_id'];
                 }
                 $list_emails = $model_user->get_list_email_by_departmentid($department_id, $user_id, 1);
                 $maildata = array('order_id' => $order_id, 'list_media_name' => $media_name, 'agreement_type' => $agreement_type, 'ss_name' => $ss_name, 'ss_list_name' => $ssitem, 'reason' => $reason, 'list_emails' => $list_emails);
                 $model_orders->sendmail($status, $maildata, $order_info->create_id);
             }
             $result = 'success';
             switch ($status) {
                 case -1:
                     $message = '非承認しました';
                     break;
                 case 1:
                     $message = '承認しました';
                     break;
                 case 2:
                     $message = '確定しました。';
                     break;
                 case 3:
                     $message = '停止しました。';
                     break;
                 default:
                     $message = '非承認しました';
                     break;
             }
         }
         \Session::set_flash($result, $message);
         return 'true';
     }
 }