Пример #1
0
 /**
  * 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'));
 }
Пример #2
0
 /**
  * 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;
         }
     }
 }