Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class M_employee_job_title extends MY_Model{
- private $employee_engine;
- private $object_name = "Employee Job Title";
- private $actor_user_id;
- private $actor_user_name;
- function __construct(){
- parent::__construct();
- $this->employee_engine = new Employee_engine();
- $user = get_session("user");
- $this->actor_user_id = isset($user["id"]) ? (int) $user["id"] : 0;
- $this->actor_user_name = isset($user["employee_name"]) ? $user["employee_name"] : "";
- }
- function employee_job_title_get_list($filters = array()){
- $res = $this->employee_engine->employee_job_title_get_list($filters, true, true);
- $final_res = array();
- $no = isset($filters["start"]) ? (int) $filters["start"] : 0;
- foreach ($res as $r) {
- $row = array();
- $no++;
- $row["no"] = $no;
- $row["hash_id"] = md5($r["id"]);
- $row["name"] = $r["name"];
- $row["grade"] = $r["grade"];
- $row["description"] = $r["description"];
- $final_res[] = $row;
- }
- return $final_res;
- }
- function employee_job_title_get_filtered_total($filters = array()){
- $res = $this->employee_engine->employee_job_title_get_list($filters, false, true);
- return count($res);
- }
- function employee_job_title_get_total(){
- $res = $this->employee_engine->table_get_rows_count("employee_job_title");
- return $res;
- }
- function employee_job_title_get($hash_id = ""){
- $id = $this->employee_engine->get_id_by_hash_id($hash_id, "employee_job_title");
- $filters = array();
- $filters["id"] = $id;
- $res = $this->employee_engine->employee_job_title_get_list($filters);
- if(count($res) == 0) return array();
- $res = $res[0];
- return $res;
- }
- function employee_job_title_delete($hash_id = ""){
- $id = $this->employee_engine->get_id_by_hash_id($hash_id, "employee_job_title");
- $filters = array();
- $filters["id"] = $id;
- $res = $this->employee_engine->employee_job_title_get_list($filters);
- if(count($res) == 0) return set_http_response_error(201, "Invalid " . $this->object_name);
- // **
- // check jika employee job title sedang digunakan pada table employee
- $filters = array();
- $filters["employee_job_title_id"] = $id;
- $res = $this->employee_engine->employee_get_list($filters);
- if(count($res) > 0) {
- return set_http_response_error(201, count($res) . " " . $this->object_name . " was related to employee");
- }
- $this->db->trans_begin();
- try {
- $res = $this->employee_engine->employee_job_title_delete($id);
- if((int) $res == 0){
- $this->db->trans_rollback();
- return set_http_response_error(201, "Failed to delete " . $this->object_name . " #001");
- }
- $this->db->trans_commit();
- return set_http_response_success($this->object_name . " deleted");
- } catch (Exception $e) {
- $this->db->trans_rollback();
- return set_http_response_error(201, "Failed to delete " . $this->object_name . " #002");
- }
- }
- function employee_job_title_save(){
- $hash_id = trim($this->post("hash_id"));
- $name = trim($this->post("name"));
- $grade = trim($this->post("grade"));
- $description = trim($this->post("description"));
- $id = 0;
- // **
- // jika edit, check jika ID valid
- if(!empty($hash_id)){
- $id = $this->employee_engine->get_id_by_hash_id($hash_id, "employee_job_title");
- if((int) $id == 0) {
- return set_http_response_error(201, "Invalid " . $this->object_name);
- }
- }
- if(empty($name)) return set_http_response_error(201, "Name cannot be empty");
- if(empty($grade)) return set_http_response_error(201, "Grade cannot be empty");
- $data = array();
- $data["id"] = $id;
- $data["name"] = $name;
- $data["grade"] = $grade;
- $data["description"] = $description;
- $data["creator_user_id"] = $this->actor_user_id;
- $data["creator_user_name"] = $this->actor_user_name;
- try {
- $res = $this->employee_engine->employee_job_title_save($data);
- if((int) $res == 0){
- $this->db->trans_rollback();
- return set_http_response_error(201, "Failed to save " . $this->object_name . " #001");
- }
- $this->db->trans_commit();
- return set_http_response_success($this->object_name . " saved");
- } catch (Exception $e) {
- $this->db->trans_rollback();
- return set_http_response_error(201, "Failed to save " . $this->object_name . " #002");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement