Advertisement
Guest User

M_job_title.php

a guest
May 21st, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.97 KB | None | 0 0
  1. <?php
  2.  
  3. class M_employee_job_title extends MY_Model{
  4.     private $employee_engine;
  5.     private $object_name = "Employee Job Title";
  6.  
  7.     private $actor_user_id;
  8.     private $actor_user_name;
  9.     function __construct(){
  10.         parent::__construct();
  11.  
  12.         $this->employee_engine = new Employee_engine();
  13.  
  14.         $user = get_session("user");
  15.         $this->actor_user_id = isset($user["id"]) ? (int) $user["id"] : 0;
  16.         $this->actor_user_name = isset($user["employee_name"]) ? $user["employee_name"] : "";
  17.     }
  18.  
  19.     function employee_job_title_get_list($filters = array()){
  20.         $res = $this->employee_engine->employee_job_title_get_list($filters, true, true);
  21.         $final_res = array();
  22.        
  23.         $no = isset($filters["start"]) ? (int) $filters["start"] : 0;
  24.         foreach ($res as $r) {
  25.           $row = array();
  26.          
  27.           $no++;          
  28.          
  29.           $row["no"] = $no;
  30.           $row["hash_id"] = md5($r["id"]);
  31.           $row["name"] = $r["name"];
  32.           $row["grade"] = $r["grade"];
  33.           $row["description"] = $r["description"];
  34.          
  35.           $final_res[] = $row;
  36.         }
  37.        
  38.         return $final_res;
  39.     }
  40.    
  41.     function employee_job_title_get_filtered_total($filters = array()){
  42.       $res = $this->employee_engine->employee_job_title_get_list($filters, false, true);
  43.       return count($res);
  44.     }
  45.    
  46.     function employee_job_title_get_total(){
  47.       $res = $this->employee_engine->table_get_rows_count("employee_job_title");
  48.       return $res;
  49.     }
  50.  
  51.     function employee_job_title_get($hash_id = ""){
  52.         $id = $this->employee_engine->get_id_by_hash_id($hash_id, "employee_job_title");
  53.  
  54.         $filters = array();
  55.         $filters["id"] = $id;
  56.         $res = $this->employee_engine->employee_job_title_get_list($filters);
  57.         if(count($res) == 0) return array();
  58.         $res = $res[0];
  59.         return $res;
  60.     }
  61.  
  62.     function employee_job_title_delete($hash_id = ""){
  63.         $id = $this->employee_engine->get_id_by_hash_id($hash_id, "employee_job_title");
  64.  
  65.         $filters = array();
  66.         $filters["id"] = $id;
  67.         $res = $this->employee_engine->employee_job_title_get_list($filters);
  68.         if(count($res) == 0) return set_http_response_error(201, "Invalid " . $this->object_name);
  69.  
  70.         // **
  71.         // check jika employee job title sedang digunakan pada table employee
  72.         $filters = array();
  73.         $filters["employee_job_title_id"] = $id;
  74.         $res = $this->employee_engine->employee_get_list($filters);
  75.         if(count($res) > 0) {
  76.             return set_http_response_error(201, count($res) . " " . $this->object_name . " was related to employee");
  77.         }
  78.  
  79.         $this->db->trans_begin();
  80.         try {
  81.             $res = $this->employee_engine->employee_job_title_delete($id);
  82.             if((int) $res == 0){
  83.                 $this->db->trans_rollback();
  84.                 return set_http_response_error(201, "Failed to delete " . $this->object_name . " #001");
  85.             }
  86.  
  87.             $this->db->trans_commit();
  88.             return set_http_response_success($this->object_name . " deleted");
  89.         } catch (Exception $e) {
  90.             $this->db->trans_rollback();
  91.             return set_http_response_error(201, "Failed to delete " . $this->object_name . " #002");
  92.         }
  93.     }
  94.  
  95.     function employee_job_title_save(){
  96.         $hash_id = trim($this->post("hash_id"));
  97.         $name = trim($this->post("name"));
  98.         $grade = trim($this->post("grade"));
  99.         $description = trim($this->post("description"));
  100.  
  101.         $id = 0;
  102.  
  103.         // **
  104.         // jika edit, check jika ID valid
  105.         if(!empty($hash_id)){
  106.             $id = $this->employee_engine->get_id_by_hash_id($hash_id, "employee_job_title");
  107.             if((int) $id == 0) {
  108.                 return set_http_response_error(201, "Invalid " . $this->object_name);
  109.             }
  110.         }
  111.  
  112.         if(empty($name)) return set_http_response_error(201, "Name cannot be empty");
  113.         if(empty($grade)) return set_http_response_error(201, "Grade cannot be empty");
  114.  
  115.         $data = array();
  116.         $data["id"] = $id;
  117.         $data["name"] = $name;
  118.         $data["grade"] = $grade;
  119.         $data["description"] = $description;
  120.         $data["creator_user_id"] = $this->actor_user_id;
  121.         $data["creator_user_name"] = $this->actor_user_name;
  122.  
  123.         try {
  124.             $res = $this->employee_engine->employee_job_title_save($data);
  125.             if((int) $res == 0){
  126.                 $this->db->trans_rollback();
  127.                 return set_http_response_error(201, "Failed to save " . $this->object_name . " #001");
  128.             }
  129.  
  130.             $this->db->trans_commit();
  131.             return set_http_response_success($this->object_name . " saved");
  132.         } catch (Exception $e) {            
  133.             $this->db->trans_rollback();
  134.             return set_http_response_error(201, "Failed to save " . $this->object_name . " #002");
  135.         }
  136.     }
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement