Ejemplo n.º 1
0
 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');
 }
Ejemplo n.º 2
0
 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');
 }
Ejemplo n.º 3
0
 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);
 }