/** * Delete a department * * @param int department id * * @return bool */ function erp_hr_delete_department($department_id) { $department = new \WeDevs\ERP\HRM\Department($department_id); if ($department->num_of_employees()) { return new WP_Error('not-empty', __('You can not delete this department because it contains employees.', 'wp-erp')); } do_action('erp_hr_dept_delete', $department_id); return \WeDevs\ERP\HRM\Models\Department::find($department_id)->delete(); }
/** * Render Single row * * @param init $department_id * @param integer $level * * @return void [html] */ public function single_row($department_id, $level = 0) { $department = new \WeDevs\ERP\HRM\Department($department_id); $colume_info = $this->get_column_info(); echo '<tr>'; foreach (reset($colume_info) as $column_name => $column_title) { switch ($column_name) { case 'cb': ?> <th scope="row" class="check-column"> <label class="screen-reader-text" for="cb-select-<?php the_ID(); ?> "><?php printf(__('Select %s'), $department->title); ?> </label> <input id="cb-select-<?php the_ID(); ?> " type="checkbox" name="department_id[]" value="<?php echo $department->id; ?> " /> <div class="locked-indicator"></div> </th> <?php break; case 'name': echo '<td>'; $pad = str_repeat('— ', $level); $actions = array(); $delete_url = ''; $link_to_employee = add_query_arg(array('page' => 'erp-hr-employee', 'filter_department' => $department->id), admin_url('admin.php')); $actions['edit'] = sprintf('<a href="%s" data-id="%d" title="%s">%s</a>', $delete_url, $department->id, __('Edit this item', 'wp-erp'), __('Edit', 'wp-erp')); $actions['delete'] = sprintf('<a href="%s" class="submitdelete" data-id="%d" title="%s">%s</a>', $delete_url, $department->id, __('Delete this item', 'wp-erp'), __('Delete', 'wp-erp')); printf('<a href="%4$s"><strong>%1$s %2$s</strong></a> %3$s', $pad, $department->title, $this->row_actions($actions), $link_to_employee); echo '</td>'; break; case 'lead': echo '<td>'; if ($new_lead = $department->get_lead()) { echo $new_lead->get_link(); } else { echo '-'; } echo '</td>'; break; case 'number_employee': echo '<td>'; echo $department->num_of_employees(); echo '</td>'; break; default: echo '<td>'; echo ''; echo '</td>'; break; } } echo '</tr>'; }
/** * Delete a department * * @param int department id * * @return bool */ function erp_hr_delete_department($department_id) { $department = new \WeDevs\ERP\HRM\Department(intval($department_id)); if ($department->num_of_employees()) { return false; } do_action('erp_hr_dept_delete', $department_id); $parent_id = \WeDevs\ERP\HRM\Models\Department::where('id', '=', $department_id)->pluck('parent'); if ($parent_id) { \WeDevs\ERP\HRM\Models\Department::where('parent', '=', $department_id)->update(['parent' => $parent_id]); } else { \WeDevs\ERP\HRM\Models\Department::where('parent', '=', $department_id)->update(['parent' => 0]); } $resp = \WeDevs\ERP\HRM\Models\Department::find($department_id)->delete(); return $resp; }