public static function getJSONRecordsData(TS_User &$current_user, array $filter_ar = array()) { // set static variables self::$current_user = $current_user; self::$filter_ar = $filter_ar; // get filtered record id's, and full records when applicable $records_id_ar = TS_DB_HRM_Employees::getFilteredIDs(array('is_in_dienst' => 1)); if (!$records_id_ar) { return json_encode(array('data' => array())); } $records_ar = TS_DB_HRM_Employees::getFullRecords($records_id_ar); if (!$records_ar) { return json_encode(array('data' => array())); } // check for user rights $user_may_edit_leaves = $current_user->hasAccess('Personeel Vrij Planning', 'edit_employee_leaves'); // build return data array $data_ar = array(); foreach ($records_ar as $record) { // init variables $record_id = $record['id']; $record_name = $record['voornaam'] . ' ' . $record['achternaam']; $optional_links_ar = array(); // edit record link if ($user_may_edit_leaves) { $optional_links_ar['edit'] = HTML::A(TS_Module_Icons::get('edit_item'), '', 'icon_link'); $optional_links_ar['edit']->title = 'Bewerk verloven bij : ' . $record_name; $optional_links_ar['edit']->href = TS_Module_HRM_PresencePlanning_Links::getHref('edit_employee', array('employee_id' => $record_id)); } // build cells $column_data_ar = array(); $column_data_ar[] = (int) $record_id; $column_data_ar[] = (string) $record_name; //$column_data_ar[] = (string)implode('', $optional_links_ar); $data_ar[] = $column_data_ar; } // return data in JSON format return json_encode(array('data' => $data_ar), JSON_HEX_QUOT | JSON_HEX_TAG); }
private static function addTab($page_name, $icon_name, $add_record_info = false) { $tmp_page_title_ar[] = self::$module_pages_ar[$page_name]; if ($add_record_info) { $tmp_page_title_ar[] = self::$employee->getName(); } $page_title = implode(' | ', $tmp_page_title_ar); $page_link = HTML::A(TS_Module_Icons::get($icon_name, 1.5, $page_title) . $page_title); // Check if provided page is the currently selected page if (self::$selected_page == $page_name) { $page_link->class = 'selected_tab'; self::$current_page_subtitle_ar[] = $page_title; } // add any extra url parameters $url_extra_params_ar = array(); if ($add_record_info) { $url_extra_params_ar['employee_id'] = self::$employee->id; } $page_link->href = TS_Module_HRM_PresencePlanning_Links::getHref($page_name, $url_extra_params_ar); $page_link->title = $page_title; self::$tabs_links_ar[] = $page_link; }
private static function getRemoveEmployeeLeaveLink($leave_id) { // create local filter $filter_ar = self::$filter_ar; // set leave_id and action $filter_ar['leave_id'] = $leave_id; $filter_ar['action'] = 'remove_leave'; // set go_to_page_name $go_to_page_name = !empty($filter_ar['page']) ? $filter_ar['page'] : 'edit_employee'; unset($filter_ar['page']); // build and return link $link = HTML::A(TS_Module_Icons::get('delete_item'), '', 'link_img'); $link->title = 'Verwijder verlof ID ' . $leave_id . ' van : ' . self::$employee->name; $link->href = TS_Module_HRM_PresencePlanning_Links::getHref($go_to_page_name, $filter_ar); return $link; }