/** * Add log when designation updated * * @since 0.1 * * @param integer $desig_id * @param array $fields * * @return void */ public function update_designation($desig_id, $fields) { if (!$desig_id) { return; } $old_desig = \WeDevs\ERP\HRM\Models\Designation::find($desig_id)->toArray(); unset($old_desig['created_at'], $old_desig['updated_at']); $changes = $this->get_array_diff($fields, $old_desig); if (empty($changes['old_val']) && empty($changes['new_val'])) { $message = false; } else { $message = sprintf('<strong>%s</strong> designation has been edited', $old_desig['title']); } if ($message) { erp_log()->add(['sub_component' => 'designation', 'message' => $message, 'created_by' => get_current_user_id(), 'changetype' => 'edit', 'old_value' => $changes['old_val'], 'new_value' => $changes['new_val']]); } }
/** * Delete a department * * @param int department id * * @return bool */ function erp_hr_delete_designation($designation_id) { if (is_array($designation_id)) { $exist_employee = []; $not_exist_employee = []; foreach ($designation_id as $key => $designation) { $desig = new \WeDevs\ERP\HRM\Designation(intval($designation)); if ($desig->num_of_employees()) { $exist_employee[] = $designation; } else { do_action('erp_hr_desig_delete', $desig); $not_exist_employee[] = $designation; } } if ($not_exist_employee) { \WeDevs\ERP\HRM\Models\Designation::destroy($not_exist_employee); } return $exist_employee; } else { $designation = new \WeDevs\ERP\HRM\Designation($designation_id); if ($designation->num_of_employees()) { return new WP_Error('not-empty', __('You can not delete this designation because it contains employees.', 'wp-erp')); } do_action('erp_hr_desig_delete', $designation); return \WeDevs\ERP\HRM\Models\Designation::find($designation_id)->delete(); } }