public function action_edit($id = null) { is_null($id) and Response::redirect('employees'); if (!($employee = Model_Employee::find($id))) { Session::set_flash('error', 'Could not find employee #' . $id); Response::redirect('employees'); } $val = Model_Employee::validate('edit'); if ($val->run()) { $employee->first_name = Input::post('first_name'); $employee->last_name = Input::post('last_name'); $employee->phone = Input::post('phone'); $employee->address = Input::post('address'); $employee->city = Input::post('city'); $employee->state = Input::post('state'); $employee->pincode = Input::post('pincode'); $employee->email = Input::post('email'); $employee->joining_date = Input::post('joining_date'); $employee->leaving_date = Input::post('leaving_date'); $employee->date_of_birth = Input::post('date_of_birth'); $employee->sex = Input::post('sex'); $employee->marital_status = Input::post('marital_status'); $employee->activity_status = "active"; if ($employee->save()) { Session::set_flash('success', 'Updated employee #' . $id); Response::redirect('employees'); } else { Session::set_flash('error', 'Could not update employee #' . $id); } } else { if (Input::method() == 'POST') { $employee->first_name = Input::post('first_name'); $employee->last_name = Input::post('last_name'); $employee->phone = $val->validated('phone'); $employee->address = $val->validated('address'); $employee->city = $val->validated('city'); $employee->state = $val->validated('state'); $employee->pincode = $val->validated('pincode'); $employee->email = $val->validated('email'); $employee->joining_date = $val->validated('joining_date'); $employee->leaving_date = $val->validated('leaving_date'); $employee->date_of_birth = $val->validated('date_of_birth'); $employee->sex = $val->validated('sex'); $employee->marital_status = $val->validated('marital_status'); $employee->activity_status = "active"; Session::set_flash('error', $val->error()); } $this->template->set_global('employee', $employee, false); } $this->template->title = "Employees"; $this->template->content = View::forge('employees/edit'); }
public function action_edit($id = null) { parent::has_access("create_employee"); is_null($id) and Response::redirect('employees'); if (!($employee = Model_Employee::find($id))) { Session::set_flash('error', 'Could not find employee #' . $id); Response::redirect('employees'); } $val = Model_Employee::validate('edit'); if ($val->run()) { $var_ld_day = Input::post('ld_day'); $var_ld_month = Input::post('ld_month'); $var_ld_year = Input::post('ld_year'); $var_ld = $var_ld_year . '-' . $var_ld_month . '-' . $var_ld_day; if ($var_ld_month == 0) { $var_ld = null; } $employee->branch = Input::post('branch'); $employee->title = Input::post('title'); $employee->first_name = Input::post('first_name'); $employee->last_name = Input::post('last_name'); $employee->phone = Input::post('phone'); $employee->address = Input::post('address'); $employee->city = Input::post('city'); $employee->state = Input::post('state'); $employee->pincode = Input::post('pincode'); $employee->email = Input::post('email'); $employee->jd_date = Input::post('jd_day'); $employee->jd_month = Input::post('jd_month'); $employee->jd_year = Input::post('jd_year'); $employee->leaving_date = $var_ld; $employee->dob_date = Input::post('dob_day'); $employee->dob_month = Input::post('dob_month'); $employee->dob_year = Input::post('dob_year'); $employee->sex = Input::post('sex'); $employee->marital_status = Input::post('marital_status'); $employee->activity_status = "active"; if ($employee->save()) { Session::set_flash('success', 'Updated employee #' . $id); Response::redirect('employees'); } else { Session::set_flash('error', 'Could not update employee #' . $id); } } else { if (Input::method() == 'POST') { $var_ld_day = Input::post('ld_day'); $var_ld_month = Input::post('ld_month'); $var_ld_year = Input::post('ld_year'); $var_ld = $var_ld_year . '-' . $var_ld_month . '-' . $var_ld_day; $employee->branch = $val->validated('branch'); $employee->title = $val->validated('title'); $employee->first_name = $val->validated('first_name'); $employee->last_name = $val->validated('last_name'); $employee->phone = $val->validated('phone'); $employee->address = $val->validated('address'); $employee->city = $val->validated('city'); $employee->state = $val->validated('state'); $employee->pincode = $val->validated('pincode'); $employee->email = $val->validated('email'); $employee->sex = $val->validated('sex'); $employee->marital_status = $val->validated('marital_status'); $employee->activity_status = "active"; Session::set_flash('error', $val->error()); } $this->template->set_global('employee', $employee, false); } $this->template->title = "Employees"; $this->template->content = View::forge('employees/edit'); }
public function action_edit($id = null) { is_null($id) and Response::redirect('employee'); $employee = Model_Employee::find($id); if (!$employee) { Session::set_flash('error', 'Could not find employee #' . $id); Response::redirect('employee'); } if ($employee->user_id) { $user = Model_User::find($employee->user_id); $custom = Model_EmployeeCustom::get_employee_custom($employee->id); } else { $user = null; $custom = null; } if (Input::method() == 'POST') { $val = Model_Employee::validate('edit'); if ($user && strlen(Input::post('password'))) { $val->add_field('password', 'Password', 'required|min_length[8]|max_length[20]'); $val->add_field('password_re', 'Re-type Password', 'required|min_length[8]|max_length[20]'); } $file = Input::file('employee_photo_file'); $error = false; if ($val->run()) { $employee_photo = ""; if ($file['size'] > 0) { $allowList = array(".jpg", ".png"); $ext = substr($file['name'], strrpos($file['name'], ".")); if (!in_array($ext, $allowList)) { Session::set_flash('error', 'ชนิดของไฟล์ภาพไม่ถูกต้อง'); $error = true; } $path = realpath(DOCROOT . "/../../uploads/profile_photo/employee/") . DS; $filename = md5($file['name']); if (@copy($file['tmp_name'], $path . $filename . "-o" . $ext)) { $employee_photo = $filename . $ext; /* cropped, default, and retina images */ if ($ext === ".jpg") { $image = imagecreatefromjpeg($path . $filename . "-o" . $ext); } else { if ($ext === ".png") { $image = imagecreatefrompng($path . $filename . "-o" . $ext); } } $width = imagesx($image); $height = imagesy($image); $photo_width = Input::post('photo_width') ? Input::post('photo_width') : $width; $photo_height = Input::post('photo_height') ? Input::post('photo_height') : $height; $default_image = imagecreatetruecolor(360, 360); $black = imagecolorallocate($default_image, 0, 0, 0); imagecolortransparent($default_image, $black); imagecopyresized($default_image, $image, 0, 0, 0, 0, 360, 360, $photo_width, $photo_height); if ($ext === ".jpg") { imagejpeg($default_image, $path . $filename . $ext); } else { if ($ext === ".png") { imagepng($default_image, $path . $filename . $ext); } } $retina_image = imagecreatetruecolor(720, 720); $black = imagecolorallocate($retina_image, 0, 0, 0); imagecolortransparent($retina_image, $black); imagecopyresized($retina_image, $image, 0, 0, 0, 0, 720, 720, $photo_width, $photo_height); if ($ext === ".jpg") { imagejpeg($retina_image, $path . $filename . "@2x" . $ext); } else { if ($ext === ".png") { imagepng($retina_image, $path . $filename . "@2x" . $ext); } } } } if (strlen(Input::post('password')) && Input::post('password') != Input::post('password_re')) { Session::set_flash('error', 'กรุณากรอก Password ทั้งสองช่องให้ตรงกัน'); $error = true; } if (!$error) { if ($user) { if (strlen(Input::post('password'))) { $user->password = Auth::instance()->hash_password(Input::post('password')); } $user->save(); } $employee->employee_firstname = Input::post('employee_firstname'); $employee->employee_lastname = Input::post('employee_lastname'); $employee->employee_nickname = Input::post('employee_nickname'); $employee->employee_display_name = Input::post('employee_display_name'); $employee->employee_display_position = Input::post('employee_display_position'); $employee->employee_gender = Input::post('employee_gender'); $employee->employee_bdate = Input::post('employee_bdate'); $employee->employee_addr = Input::post('employee_addr'); $employee->province_id = Input::post('province_id'); $employee->employee_phone = Input::post('employee_phone'); $employee->employee_email = Input::post('employee_email'); $employee->employee_website = Input::post('employee_website'); $employee->employee_facebook = Input::post('employee_facebook'); $employee->employee_twitter = Input::post('employee_twitter'); $employee->employee_gplus = Input::post('employee_gplus'); $employee->employee_weight = Input::post('employee_weight'); $employee->employee_height = Input::post('employee_height'); $employee->employee_prefer = Input::post('employee_prefer'); $employee->employee_about = Input::post('employee_about'); if (strlen($employee_photo)) { $employee->employee_photo = $employee_photo; } $employee->employee_is_active = Input::post('employee_is_active'); if ($employee->save()) { $custom->working_status = Input::post('working_status'); $custom->resume_published = Input::post('resume_published'); $custom->portfolio_published = Input::post('portfolio_published'); $custom->save(); Session::set_flash('success', 'Updated employee #' . $id); Response::redirect('employee'); } else { Session::set_flash('error', 'Could not update employee #' . $id); } } } else { $employee->employee_firstname = Input::post('employee_firstname'); $employee->employee_lastname = Input::post('employee_lastname'); $employee->employee_nickname = Input::post('employee_nickname'); $employee->employee_display_name = Input::post('employee_display_name'); $employee->employee_display_position = Input::post('employee_display_position'); $employee->employee_gender = Input::post('employee_gender'); $employee->employee_bdate = Input::post('employee_bdate'); $employee->employee_addr = Input::post('employee_addr'); $employee->province_id = Input::post('province_id'); $employee->employee_phone = Input::post('employee_phone'); $employee->employee_email = Input::post('employee_email'); $employee->employee_website = Input::post('employee_website'); $employee->employee_facebook = Input::post('employee_facebook'); $employee->employee_twitter = Input::post('employee_twitter'); $employee->employee_gplus = Input::post('employee_gplus'); $employee->employee_weight = Input::post('employee_weight'); $employee->employee_height = Input::post('employee_height'); $employee->employee_prefer = Input::post('employee_prefer'); $employee->employee_about = Input::post('employee_about'); $employee->employee_is_active = Input::post('employee_is_active'); $msg = '<ul>'; foreach ($val->error() as $field => $error) { $msg .= '<li>' . $error->get_message() . '</li>'; } $msg .= '</ul>'; Session::set_flash('error', $msg); } } $this->theme->set_template('edit'); $this->theme->get_template()->set_global('employee', $employee, false); $this->theme->get_template()->set_global('user', $user, false); $this->theme->get_template()->set_global('custom', $custom, false); $this->theme->get_template()->set('current_menu', "Employees"); $this->theme->get_template()->set('current_menu_desc', "จัดการผู้ใช้งานที่เป็นผู้หางานทั้งหมดในระบบ"); $this->theme->get_template()->set('breadcrumb', array(array('title' => "Home", 'icon' => "fa-home", 'link' => Uri::create('home'), 'active' => false), array('title' => "Employees", 'icon' => "fa-users", 'link' => Uri::create('employee/index'), 'active' => false), array('title' => "Edit", 'icon' => "", 'link' => "", 'active' => true))); $this->theme->get_template()->set_global('menu', "edit", false); $this->theme->set_partial('sidebar', 'common/sidebar'); $this->theme->set_partial('left', 'employee/edit'); $this->theme->get_template()->set_global('provinces', Model_Province::get_provinces("th"), false); }