/** * Remove an employee from the company * * @return void */ public function employee_remove() { $this->verify_nonce('wp-erp-hr-nonce'); global $wpdb; $employee_id = isset($_REQUEST['id']) ? intval($_REQUEST['id']) : 0; $hard = isset($_REQUEST['hard']) ? intval($_REQUEST['hard']) : 0; $user = get_user_by('id', $employee_id); if (!$user) { $this->send_error(__('No employee found', 'wp-erp')); } $role = reset($user->roles); if ('employee' == $role) { erp_employee_delete($employee_id, $hard); } // @TODO: check permission $this->send_success(__('Employee has been removed successfully', 'wp-erp')); }
/** * Handle Employee Bulk actions * * @since 0.1 * * @return void [redirection] */ public function employee_bulk_action() { if (!$this->verify_current_page_screen('erp-hr-employee', 'bulk-employees')) { return; } $employee_table = new \WeDevs\ERP\HRM\Employee_List_Table(); $action = $employee_table->current_action(); if ($action) { $redirect = remove_query_arg(array('_wp_http_referer', '_wpnonce', 'filter_employee'), wp_unslash($_SERVER['REQUEST_URI'])); switch ($action) { case 'delete': if (isset($_GET['employee_id']) && !empty($_GET['employee_id'])) { erp_employee_delete($_GET['employee_id'], false); } wp_redirect($redirect); exit; case 'permanent_delete': if (isset($_GET['employee_id']) && !empty($_GET['employee_id'])) { erp_employee_delete($_GET['employee_id'], true); } wp_redirect($redirect); exit; case 'restore': if (isset($_GET['employee_id']) && !empty($_GET['employee_id'])) { erp_employee_restore($_GET['employee_id']); } wp_redirect($redirect); exit; case 'filter_employee': wp_redirect($redirect); exit; case 'employee_search': $redirect = remove_query_arg(array('employee_search'), $redirect); wp_redirect($redirect); exit; } } }