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); }
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'; } }