Server IP : 103.191.208.50 / Your IP : 216.73.216.53 Web Server : LiteSpeed System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64 User : celkcksm ( 1031) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, popen, exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/celkcksm/ecampus.ncriptech.com/application/controllers/admin/hrm/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
<?php defined('BASEPATH') OR exit('No direct script access allowed'); /** * */ class Departments extends BaseAdminController { protected $inst_id=''; protected $inst_parent_id=''; protected $inst_code=''; protected $inst_type=''; protected $hrms_access=''; function __construct() { parent::__construct(); $institute_data=check_institute($this->data['userdata']); //print_obj($institute_data);die; $this->inst_id=$institute_data['institute_id']; $this->inst_parent_id=$institute_data['inst_parent_id']; $this->inst_code=$institute_data['inst_code']; $this->inst_type=$institute_data['inst_type']; $this->hrms_access=$institute_data['hrms_access']; $this->load->model('hrm/departments_model','dm'); } function index(){ if($this->data['userdata']->user_type=='student' || $this->data['userdata']->user_type=='agent'){ redirect($this->data['base_url']); } if(session_userdata('isAdminLoggedin')){ // $add_access= check_access_control($this->data['userdata'],'hrm_department','add'); // $edit_access= check_access_control($this->data['userdata'],'hrm_department','edit'); // $delete_access= check_access_control($this->data['userdata'],'hrm_department','delete'); // $data['add_access']=$add_access; // $data['edit_access']=$edit_access; $add_edit_view_access = check_access_control($this->data['userdata'], 'hrm_department', ['add', 'edit', 'view']); $this->data['add_edit_access'] =$add_edit_view_access; $this->data['page_title']='Departments'; if($this->hrms_access=='yes'){ if($add_edit_view_access=='yes'){ $view='hrm/payroll/vw_departments'; }else{ $view='hrm/vw_permission_denied'; } }else{ $view='hrm/vw_permission_denied'; } $this->theme->title($this->data['page_title'])->load($view, $this->data); }else{ redirect($this->data['base_url']); } } function indexSubDepartments(){ if(session_userdata('isAdminLoggedin')){ $this->data['page_title']='Sub Departments'; if($this->hrms_access=='yes'){ $_department_id=$this->uri->segment(3,0); $_departments=array(); //echo $_department_id;die; if(!empty($_department_id) && $_department_id!=='0'){ $department_id=decode_data($_department_id); $departments=$this->dm->get_department(array('department_id'=>$department_id,'department_status'=>'active')); $this->data['departments']=$departments; $this->data['department_id']=$_department_id; $this->theme->title($this->data['page_title'])->load('hrm/payroll/vw_departments_sub', $this->data); }else{ redirect($this->data['base_url'].'/departments'); } }else{ $this->theme->title($this->data['page_title'])->load('hrm/vw_permission_denied', $this->data); } }else{ redirect($this->data['base_url']); } } public function onSearchDepartmentsList(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $add_access= check_access_control($this->data['userdata'],'hrm_department','add'); $edit_access= check_access_control($this->data['userdata'],'hrm_department','edit'); $delete_access= check_access_control($this->data['userdata'],'hrm_department','delete'); $param['column_order'] = array( null, 'department_name' ); $param['department_institute_id']=$this->inst_id; $param['column_search'] = array('department_name'); $param['order'] = array('department_id' => 'ASC'); $posts=$this->input->post(); $list = $this->dm->_get_departments($posts,$param,FALSE,$this->inst_code,FALSE); $data = array(); $no = isset($posts['start'])?$posts['start']:0; $action=''; foreach ($list as $dep){ $no++; $row = array(); if(!empty($agent_image) && is_file(FCPATH.$agent_image->media_disk_path)){ $image=$this->data['base_url'].$agent_image->media_disk_path; }else{ $image=$this->data['no_image']; } $row[] = $no; $row[] = $dep->department_name; $row[] = $dep->department_name_alias; if($dep->department_status=='active'){ $status='<span class="badge badge-sm badge-success">Active</span>'; }else if($dep->department_status=='inactive'){ $status='<span class="badge badge-sm badge-danger">Inactive</span>'; } $row[] = $status; $action='<div class="btn-group btn-group-rounded" role="group" aria-label="Basic example">'; //<a href="departments/'.encode_data($dep->department_id).'" class="btn btn-xs btn-dark btn_dep_edit" data-dep_id="'.encode_data($dep->department_id).'">Sub Departments</a> if($edit_access=='yes' && $delete_access=='yes'){ $action.=' <button type="button" class="btn btn-xs btn-dark btn_dep_edit" data-dep_id="'.encode_data($dep->department_id).'" data-dep_name="'.$dep->department_name.'" data-dep_name_alias="'.$dep->department_name_alias.'" data-dep_status="'.$dep->department_status.'"><i class="fa fa-edit"></i></button> <button type="button" class="btn btn-xs btn-danger btn_dep_del" data-dep_id="'.encode_data($dep->department_id).'" data-dep_status="'.$dep->department_status.'"><i class="fa fa-trash"></i></button>'; } else if($edit_access=='yes'){ $action.= ' <button type="button" class="btn btn-xs btn-dark btn_dep_edit" data-dep_id="'.encode_data($dep->department_id).'" data-dep_name="'.$dep->department_name.'" data-dep_name_alias="'.$dep->department_name_alias.'" data-dep_status="'.$dep->department_status.'"><i class="fa fa-edit"></i></button>'; } else if($delete_access=='yes'){ $action.='<button type="button" class="btn btn-xs btn-danger btn_dep_del" data-dep_id="'.encode_data($dep->department_id).'" data-dep_status="'.$dep->department_status.'"><i class="fa fa-trash"></i></button>'; } else{ $action.='<span class="badge badge-danger">Not permitted</span>'; } $action.='</div>'; $row[]=$action; $data[] = $row; } $output = array( "draw" => isset($posts['draw'])?$posts['draw']:'', "recordsTotal" => $this->dm->_get_departments($posts,$param,TRUE,$this->inst_code), "recordsFiltered" => $this->dm->_get_departments($posts,$param,TRUE,$this->inst_code), "data" => $data, ); echo json_encode($output); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onAddEditDepartments() { if (session_userdata('isAdminLoggedin') === TRUE && session_userdata('admin_id')) { if ($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD') === 'POST') { // Load validation library $this->load->library('form_validation'); // Define validation rules $this->form_validation->set_rules('_department', 'Department ID', 'trim'); $this->form_validation->set_rules('department_name', 'Department Name', 'trim|required|max_length[100]'); $this->form_validation->set_rules('department_name_alias', 'Department Alias', 'trim|max_length[50]'); $this->form_validation->set_rules('department_status', 'Department Status', 'trim|required|in_list[active,inactive]'); if ($this->form_validation->run() === FALSE) { $return['error'] = validation_errors(); json_headers($return); return; } $_department = post_data('_department'); $department_name = post_data('department_name'); $department_name_alias = post_data('department_name_alias'); $department_status = post_data('department_status'); $department_instid = $this->data['userdata']->user_id; if (empty($_department)) { // Check if the department already exists $department_found = $this->dm->get_department([ 'department_name' => $department_name, 'department_institute_id' => $department_instid ]); if (empty($department_found)) { $data_to_add = [ 'department_name' => $department_name, 'department_name_alias' => $department_name_alias, 'department_institute_id' => $department_instid, 'department_status' => $department_status ]; $added = $this->dm->store_department($data_to_add); if ($added) { $return['success'] = 'Department added successfully.'; } else { $return['error'] = 'Failed to add department. Please try again.'; } } else { $return['error'] = 'Department already exists in the system.'; } } else { $department_id = decode_data($_department); // Check if the department exists for update $department_found = $this->dm->get_department([ 'department_id' => $department_id, 'department_institute_id' => $department_instid ]); if (!empty($department_found)) { $data_to_add = [ 'department_name' => $department_name, 'department_name_alias' => $department_name_alias, 'department_institute_id' => $department_instid, 'department_status' => $department_status ]; $updated = $this->dm->update_department($data_to_add, [ 'department_id' => $department_id, 'department_institute_id' => $department_instid ]); if ($updated) { $return['success'] = 'Department updated successfully.'; } else { $return['error'] = 'Failed to update department. Please try again.'; } } else { $return['error'] = 'Department not found in the system.'; } } json_headers($return); } else { $return['error'] = 'Invalid request method.'; json_headers($return); } } else { $return['error'] = 'Unauthorized access. Please log in.'; json_headers($return); } } public function onDeleteDepartments(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $_departnment=post_data('department_id'); $department_instid=$this->data['userdata']->user_id; if(!empty($_departnment)){ $departnment_id=decode_data($_departnment); $department_found=$this->dm->get_department(array('department_id'=>$departnment_id,'department_institute_id'=>$department_instid)); if(!empty($department_found)){ $deleted=$this->dm->delete_department(array('department_id'=>$departnment_id,'department_institute_id'=>$department_instid)); if($deleted){ $return['success']='Department deleted successfully.'; }else{ $return['error']='Department not deleted.'; } $return['success']='Department deleted successfully.'; }else{ $return['error']='Department not found'; } }else{ $return['error']='Data manipulation not permitted'; } json_headers($return); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onSearchSubDepartmentsList(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $param['column_order'] = array( null, 'department_name' ); $param['department_institute_id']=$this->data['userdata']->user_id; $param['column_search'] = array('department_name'); $param['order'] = array('department_sub_id' => 'ASC'); $posts=$this->input->post(); $posts['department_id']= decode_data($posts['department_id']); $list = $this->dm->_get_sub_departments($posts,$param,FALSE,FALSE); //print_obj($list);die; $data = array(); $no = isset($posts['start'])?$posts['start']:0; $action=''; foreach ($list as $dep){ $no++; $row = array(); if(!empty($agent_image) && is_file(FCPATH.$agent_image->media_disk_path)){ $image=$this->data['base_url'].$agent_image->media_disk_path; }else{ $image=$this->data['no_image']; } $row[] = $no; $row[] = $dep->department_name; $row[] = $dep->department_name_alias; if($dep->department_status=='active'){ $status='<span class="badge badge-sm badge-success">Active</span>'; }else if($dep->department_status=='inactive'){ $status='<span class="badge badge-sm badge-danger">Inactive</span>'; } $row[] = $status; $row[] = ' <button type="button" class="btn btn-xs btn-dark btn_sub_dep_edit" data-dep_id="'.encode_data($dep->department_sub_id).'" data-dep_name="'.$dep->department_name.'" data-dep_name_alias="'.$dep->department_name_alias.'" data-dep_status="'.$dep->department_status.'"><i class="fa fa-pencil"></i></button> <button type="button" class="btn btn-xs btn-danger btn_sub_dep_del" data-dep_id="'.encode_data($dep->department_sub_id).'" data-dep_status="'.$dep->department_status.'"><i class="fa fa-trash"></i></button>'; $data[] = $row; } $output = array( "draw" => isset($posts['draw'])?$posts['draw']:'', "recordsTotal" => $this->dm->_get_sub_departments($posts,$param,TRUE), "recordsFiltered" => $this->dm->_get_sub_departments($posts,$param,TRUE), "data" => $data, ); echo json_encode($output); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onAddEditSubDepartments(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $_department=post_data('_sub_department'); $department_name=post_data('department_name'); $department_name_alias=post_data('department_name_alias'); $department_status=post_data('department_status'); $department_id=post_data('department_id'); $department_instid=$this->data['userdata']->user_id; if(empty($_department)){ $department_id=decode_data($department_id); $department_found=$this->dm->get_sub_department(array('department_name'=>$department_name,'department_institute_id'=>$department_instid,'department_pk_id'=>$department_id)); if(empty($department_found)){ $data_to_add=array( 'department_pk_id'=>$department_id, 'department_name'=>$department_name, 'department_name_alias'=>$department_name_alias, 'department_institute_id'=>$department_instid, 'department_status'=>$department_status ); $added=$this->dm->store_sub_department($data_to_add); if($added){ $return['success']='Department added.'; }else{ $return['error']='Department not added.'; } }else{ $return['error']='Department already foudn in the system'; } }else{ $sub_department_id=decode_data($_department); $department_id=decode_data($department_id); $department_found=$this->dm->get_sub_department(array('department_sub_id'=>$sub_department_id,'department_pk_id'=>$department_id,'department_institute_id'=>$department_instid)); if(!empty($department_found)){ $data_to_add=array( 'department_name'=>$department_name, 'department_name_alias'=>$department_name_alias, 'department_institute_id'=>$department_instid, 'department_status'=>$department_status ); $added=$this->dm->update_sub_department($data_to_add,array('department_sub_id'=>$sub_department_id,'department_pk_id'=>$department_id,'department_institute_id'=>$department_instid)); if($added){ $return['success']='Department updated.'; }else{ $return['error']='Department not updated.'; } }else{ $return['error']='Department data not found in the system.'; } } json_headers($return); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onDeleteSubDepartments(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $_department=post_data('department_id'); $_sub_department=post_data('department_sub_id'); $department_instid=$this->data['userdata']->user_id; if(!empty($_department)){ $departnment_id=decode_data($_department); $sub_department_id=decode_data($_sub_department); $department_found=$this->dm->get_sub_department(array('department_sub_id'=>$sub_department_id,'department_pk_id'=>$departnment_id,'department_institute_id'=>$department_instid)); if(!empty($department_found)){ $deleted=$this->dm->delete_sub_department(array('department_sub_id'=>$sub_department_id,'department_pk_id'=>$departnment_id,'department_institute_id'=>$department_instid)); if($deleted){ $return['success']='Department deleted successfully.'; }else{ $return['error']='Department not deleted.'; } $return['success']='Department deleted successfully.'; }else{ $return['error']='Department not found'; } }else{ $return['error']='Data manipulation not permitted'; } json_headers($return); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onLoadDepartments(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $institute_data=check_institute($this->data['userdata']); $inst_id=$institute_data['inst_type']; $department_id=post_data('department_id'); $departments=array(); //,'department_institute_id'=>$inst_id,'department_institute_type'=>$inst_type $_departments=$this->dm->get_department(array('department_status'=>'active'),FALSE); //print_obj($_departments);die; if(!empty($_departments)){ foreach ($_departments as $key => $value) { $departments[]=array( 'department_id'=>$value->department_id, 'department_name'=>$value->department_name, 'selected'=>($value->department_id==$department_id)?'selected':'' ); } } $this->data['departments']=$departments; $return['html']=$this->theme->view('_pages/hrm/payroll/vw_departments_dropdown',$this->data,true); json_headers($return); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } }