Ejemplo n.º 1
0
Archivo: home.php Proyecto: wxl2012/wx
 public function action_register()
 {
     $employee = \Model_Employee::query()->where(['user_id' => \Auth::get_user()->id, 'seller_id' => \Session::get('seller')->id])->get_one();
     $store = false;
     if ($employee) {
         $store = \Model_Store::query()->where(['seller_id' => \Session::get('seller')->id, 'manager_id' => $employee->id])->get_one();
     }
     $create_flag = false;
     if (\Input::method() == 'POST') {
         $data = \Input::post();
         if (!$employee) {
             $employee = \Model_Employee::forge();
         }
         $employee->set(['user_id' => \Auth::get_user()->id, 'seller_id' => \Session::get('seller')->id, 'no' => time(), 'work_tel' => $data['work_tel'], 'work_phone' => $data['work_phone']]);
         if ($employee->save()) {
             if (!$store) {
                 $create_flag = true;
                 $store = \Model_Store::forge();
             }
             $store->set(['manager_id' => $employee->id, 'seller_id' => \Session::get('seller')->id, 'no' => time(), 'name' => $data['name'], 'tel' => $data['tel'], 'phone' => $data['phone']]);
             if ($store->save()) {
                 if ($create_flag) {
                     //发送发货模板消息
                     $params = ['first' => ['value' => '您推荐的一个会员已成功申请店铺!', 'color' => '#D02090'], 'keyword1' => ['value' => \Auth::get_user()->username, 'color' => '#D02090'], 'keyword2' => ['value' => $data['work_phone'], 'color' => '#D02090'], 'keyword3' => ['value' => date('Y年m月d日 H时i分s秒'), 'color' => '#D02090'], 'remark' => ['value' => '', 'color' => '#D02090']];
                     $this->sendMsgTemplate('x8ykw2fHARq6QYKFWUJZjU3M6beYxoimtKJNWQWF4XQ', $params, 'http://ticket.wangxiaolei.cn');
                 }
             }
         }
     }
     $params = ['employee' => $employee, 'store' => $store, 'people' => \Model_People::query()->where('parent_id', \Auth::get_user()->id)->get_one()];
     \View::set_global($params);
     $this->template->content = \View::forge("{$this->theme}/register");
 }
Ejemplo n.º 2
0
Archivo: home.php Proyecto: wxl2012/wx
 public function action_login()
 {
     if (\Auth::check()) {
         $redirect = "/admin";
         if (isset($data['to_url'])) {
             $redirect = $data['to_url'];
         }
         \Response::redirect($redirect);
     }
     \View::set_global(array('menu' => 'admin-home', 'title' => '登录系统', 'action' => 'login'));
     if (\Input::method() == 'POST') {
         if (\Auth::login()) {
             if (\Auth::get_user()->username == 'admin') {
                 \Response::redirect('/admin');
             }
             $employee = \Model_Employee::query()->where('parent_id', \Auth::get_user()->id)->get_one();
             if (!$employee) {
                 \Session::set_flash('msg', ['status' => 'err', 'msg' => '非法登录,多次尝试登录,您的帐户将被封锁!', 'title' => '警告', 'sub_title' => '非法登录', 'icon' => 'exclamation-circle', 'color' => '#d9534f']);
                 return $this->not_login_alert();
             }
             // 保存会话信息: 当前登录人员的身份、所属商户、微信公众号信息
             \Session::set('seller', $employee->seller);
             \Session::set('people', $employee->people);
             \Session::set('employee', $employee);
             // 查询当前商户默认公众号信息
             $accounts = \Model_WXAccount::query()->where(['seller_id' => $employee->seller->id])->get();
             $account = false;
             if (count($accounts) > 1) {
                 foreach ($accounts as $item) {
                     if ($account->is_default == 1) {
                         $account = $item;
                         break;
                     }
                 }
             } else {
                 $account = current($accounts);
             }
             \Session::set('WXAccount', $account);
             //获取API访问令牌
             $result = \handler\common\UrlTool::request(\Config::get('base_url') . 'api/token.json?user_id=' . \Auth::get_user()->id);
             $token = json_decode($result->body);
             \Session::set('access_token', $token->access_token);
             $redirect = "/admin";
             if (isset($data['to_url'])) {
                 $redirect = $data['to_url'];
             }
             \Response::redirect($redirect);
         }
         \Session::set_flash('msg', array('status' => 'err', 'msg' => '登录失败', 'errcode' => 20));
     }
     return \Response::forge(\View::forge("ace/login"));
 }
Ejemplo n.º 3
0
 /**
  * View Staff Profile
  * 
  * @author David Stansfield
  */
 public function action_view($empID = 0)
 {
     if ((int) $empID == 0) {
         return;
     }
     $Employee = Employee::forge($empID);
     // -- Create a new Profile Data
     // ----------------------------
     $departmentsList = array();
     $departmentsList = Model_Department::loadDepartments((int) $Employee->center_id);
     $taxCodes = Model_Employee::loadTaxCodes();
     $this->template->title = 'View Profile | Human Resources';
     $this->template->content = \View::forge('profiles/view_profile', array('empID' => (int) $empID, 'employeeDeatils' => $Employee->getDetails(), 'taxAndPay' => $Employee->getTaxAndPay(), 'jobRole' => $Employee->getJobRole(), 'profileCompleted' => $Employee->profileCompleted(), 'departmentsList' => $departmentsList, 'taxCodes' => $taxCodes));
 }
Ejemplo n.º 4
0
 public function action_index()
 {
     echo '<pre>';
     echo Fuel::VERSION . "\n";
     echo setlocale(LC_ALL, '') . "\n";
     echo Date::forge()->format('mysql') . "\n";
     echo ini_get('default_charset') . "\n";
     echo '</pre>';
     $cd = '10001';
     $result = Model_Employee::find_by_cd($cd);
     foreach ($result->as_array() as $row) {
         echo $row['lname'] . "\n";
         echo $row['fname'] . "\n";
     }
     echo count($result);
 }
Ejemplo n.º 5
0
 public function action_create($id = null)
 {
     parent::has_access("add_leave");
     is_null($id) and Response::redirect('leaves');
     $data['employees'] = Model_Employee::find('all', array('where' => array('id' => $id)));
     if (Input::method() == 'POST') {
         $dol_date = Input::post('dol_date');
         foreach ($dol_date as $var_dol_date) {
             $var_dol_month = Input::post('dol_month');
             $var_dol_year = Input::post('dol_year');
             $var_dol = $var_dol_year . '-' . $var_dol_month . '-' . $var_dol_date;
             $leave = Model_Leave::forge(array('employee_id' => $id, 'date_of_leave' => $var_dol, 'time' => '8', 'type' => Input::post('type')));
             if ($leave and $leave->save()) {
                 Session::set_flash('success', 'Added leave for employee #' . $id . '.');
             } else {
                 Session::set_flash('error', 'Could not save leave.');
             }
         }
         Response::redirect('leaves/view/' . $id);
     }
     $this->template->title = "Leaves";
     $this->template->content = View::forge('leaves/create', $data);
 }
Ejemplo n.º 6
0
 public function action_print($id = null, $month = null, $year = null)
 {
     parent::has_access("print_salary_statement");
     (is_null($id) or is_null($month) or is_null($year)) and Response::redirect('salaries');
     $data['rename'] = Model_Rename::find('first');
     $data['company'] = Model_Company::find('first', array('where' => array('city' => "Bangalore")));
     $data['employee'] = Model_Employee::find('first', array('where' => array('id' => $id)));
     if (!($data['salary'] = Model_Salary::find('first', array('where' => array(array('employee_id' => $id), array('month' => $month), array('year' => $year)))))) {
         Session::set_flash('error', 'Could not find salary #' . $id);
         Response::redirect('salaries');
     }
     $data['fytd'] = $this->findFYTD($id, $month, $year);
     return Response::forge(View::forge('salaries/payslip', $data));
 }
Ejemplo n.º 7
0
 public function action_delete($id = null)
 {
     parent::has_access("archive_employee");
     is_null($id) and Response::redirect('employees');
     if ($employee = Model_Employee::find($id)) {
         $employee->activity_status = "delete";
         if ($employee->save()) {
             Session::set_flash('success', 'Deleted employee #' . $id);
         } else {
             Session::set_flash('error', 'Could not delete employee #' . $id);
         }
     } else {
         Session::set_flash('error', 'Could not find employee #' . $id);
     }
     if ($salaries = Model_Salary::find('all', array('where' => array('employee_id' => $id)))) {
         foreach ($salaries as $salary) {
             $salary->lock = "delete";
             $salary->save();
         }
     } else {
         // Session::set_flash('error', 'Could not delete employee #' . $id);
     }
     Response::redirect('employees/viewarchive');
 }
Ejemplo n.º 8
0
Archivo: Active.php Proyecto: xepan/hr
 function init()
 {
     parent::init();
     $this->addCondition('status', 'Active');
 }
Ejemplo n.º 9
0
 public function action_delete($id = null)
 {
     is_null($id) and Response::redirect('employees');
     if ($employee = Model_Employee::find($id)) {
         $employee->delete();
         Session::set_flash('success', 'Deleted employee #' . $id);
     } else {
         Session::set_flash('error', 'Could not delete employee #' . $id);
     }
     Response::redirect('employees');
 }
Ejemplo n.º 10
0
 /**
  * Change Job Position
  * 
  * @author David Stansfield
  */
 public function changeJobPosition($positionLevelID = 0)
 {
     Model_Employee::changeJobPosition((int) $positionLevelID);
     return true;
 }
Ejemplo n.º 11
0
 /**
  * 根据查询条件、排序条件获取数据
  * @param $fields String 显示字段列表
  * @param $params Array 查询条件
  * @param $tables Array 多表查询
  * @param $order_by Array 排序字段(array('字段名' => 'ASC|DESC'))
  * @param $limit int 限制条数
  * @param $page int 分页状态(0.不分页 1.分页)
  */
 public static function getItems($fields = '*', $params = array(), $tables = array(), $order_by = array(), $limit = 0, $page = 0)
 {
     $items = Model_Employee::query();
     //判断是否多表查询
     if ($tables) {
         $items->related($tables);
     }
     if (!isset($params['is_delete'])) {
         $params['is_delete'] = 0;
     }
     //判断是否有查询条件
     if ($params) {
         foreach ($params as $key => $value) {
             if (is_array($value)) {
                 $items->where($key, $value[0], $value[1]);
             } else {
                 $items->where($key, $value);
             }
         }
     }
     //判断是否有排序条件
     if ($order_by) {
         foreach ($order_by as $key => $value) {
             if (is_numeric($key)) {
                 $items->order_by($value);
             } else {
                 $items->order_by($key, $value);
             }
         }
     }
     if ($limit) {
         $items->limit($limit);
     }
     //判断是否分页
     if ($page) {
         return $items;
     } else {
         return $items->get();
     }
 }
Ejemplo n.º 12
0
 public function action_addStaffPick($id)
 {
     is_null($id) and Response::redirect('employee');
     $employee = Model_Employee::find($id);
     if (Input::method() == "POST") {
         try {
             $file = Input::file('pick_photo_file');
             $config = array('path' => "/var/www/html/uploads/staffpick_cover/", 'ext_whitelist' => array('jpg', 'jpeg', 'png'), 'file_chmod' => 0777, 'auto_rename' => true, 'overwrite' => true, 'randomize' => true, 'create_path' => true);
             Upload::process($config);
             if (Upload::is_valid()) {
                 Upload::save();
                 $pick_photo = Upload::get_files()[0];
                 $pick = Model_EmployeePick::forge(array('employee_id' => Input::post('employee_id'), 'pick_type' => Input::post('pick_type'), 'pick_date' => Input::post('pick_date'), 'pick_photo' => $pick_photo ? $pick_photo['saved_as'] : "", 'pick_is_active' => Input::post('pick_is_active'), 'created_at' => time()));
                 if ($pick && $pick->save()) {
                     $titles = Input::post('skill_title');
                     $levels = Input::post('skill_level');
                     foreach ($titles as $key => $val) {
                         if (!strlen($val)) {
                             continue;
                         }
                         $skill = Model_EmployeePickSkill::forge(array('pick_id' => $pick->id, 'skill_title' => $val, 'skill_level' => $levels[$key], 'created_at' => time()));
                         $skill->save();
                     }
                     Session::set_flash('success', 'Added employee #' . $id . ' to Staff Picks.');
                     Response::redirect('employee/staffPicks');
                 } else {
                     Session::set_flash('error', 'Could not save employee pick.');
                 }
             }
         } catch (Exception $e) {
             die($e->getMessage());
         }
     }
     $data['employee'] = $employee;
     $skills = Model_Skill::get_computer_skills($id);
     $data['skills'] = $skills;
     $this->theme->set_template('edit');
     $this->theme->get_template()->set_global('employee', $employee, false);
     $this->theme->get_template()->set_global('skills', $skills, false);
     $this->theme->get_template()->set_global('provinces', Model_Province::get_provinces('th'));
     $this->theme->get_template()->set_global('current_menu', "Employees");
     $this->theme->get_template()->set_global('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'), 'active' => false), array('title' => "Add Staff Pick", 'icon' => "fa-plus", 'link' => "", 'active' => true)));
     $this->theme->set_partial('sidebar', 'common/sidebar');
     $this->theme->set_partial('left', 'employee/add_staff_pick')->set($data);
 }
 protected function hasPrivilege(array $roles)
 {
     return in_array($this->employee->getRole(), $roles);
 }