Ejemplo n.º 1
0
 /**
  * Display Row
  *
  * @param array $departments
  * @param int $level
  *
  * @return void
  */
 public function display_rows($departments = array(), $level = 0)
 {
     global $per_page;
     $results = new \WeDevs\ERP\HRM\Models\Department();
     $departments = erp_array_to_object($results->orderby('id', 'desc')->get()->toArray());
     $this->_display_rows_hierarchical($departments, $this->get_pagenum(), $per_page);
 }
Ejemplo n.º 2
0
/**
 * Get all the departments of a company
 *
 * @param  int  the company id
 *
 * @return array  list of departments
 */
function erp_hr_get_departments($args = [])
{
    $defaults = array('number' => 20, 'offset' => 0, 'orderby' => 'id', 'order' => 'asc', 'no_object' => false);
    $args = wp_parse_args($args, $defaults);
    $cache_key = 'erp-get-departments';
    $results = wp_cache_get($cache_key, 'wp-erp');
    $department = new \WeDevs\ERP\HRM\Models\Department();
    if (isset($args['s'])) {
        $results = $department->where('title', 'LIKE', '%' . $_GET['s'] . '%')->get()->toArray();
        $results = erp_array_to_object($results);
    }
    if (false === $results) {
        $results = $department->get()->toArray();
        $results = erp_array_to_object($results);
        wp_cache_set($cache_key, $results, 'wp-erp');
    }
    $results = erp_parent_sort($results);
    $departments = [];
    if ($results) {
        foreach ($results as $key => $row) {
            if (true === $args['no_object']) {
                $departments[] = $row;
            } else {
                $departments[] = new WeDevs\ERP\HRM\Department(intval($row->id));
            }
        }
    }
    return $departments;
}
Ejemplo n.º 3
0
/**
 * Create a new department
 *
 * @param  array   arguments
 *
 * @return int|false
 */
function erp_hr_create_department($args = array())
{
    $defaults = array('id' => 0, 'title' => '', 'description' => '', 'lead' => 0, 'parent' => 0, 'status' => 1);
    $fields = wp_parse_args($args, $defaults);
    // validation
    if (empty($fields['title'])) {
        return new WP_Error('no-name', __('No department name provided.', 'wp-erp'));
    }
    // unset the department id
    $dept_id = $fields['id'];
    unset($fields['id']);
    $department = new \WeDevs\ERP\HRM\Models\Department();
    if (!$dept_id) {
        $department->create($fields);
        do_action('erp_hr_dept_new', $wpdb->insert_id, $fields);
        return $department->id;
    } else {
        $department->find($dept_id)->update($fields);
        do_action('erp_hr_dept_updated', $dept_id, $fields);
        return $dept_id;
    }
    return false;
}