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); }
$page_content_ar[] = HTML::Div(implode(HTML::Br(), $action_errors_ar), 'extras_post_result_wide', 'extras_post_result bg-error'); } } $show_tabmenu = $show_header = false; switch (CURRENT_PAGE_NAME) { case 'employees_overview': $show_tabmenu = $show_header = true; $page_content_ar[] = TS_Module_HRM_PresencePlanning_Tables_EmployeesTable::getTable($current_user, $filter_ar); break; case 'edit_employee': $show_tabmenu = $show_header = true; $page_content_ar[] = TS_Module_HRM_PresencePlanning_Tables_EmployeeLeavesTable::get($current_user, $employee, $filter_ar); break; case 'get_json_employees': header('Content-type: application/json'); $page_content_ar[] = TS_Module_HRM_PresencePlanning_Tables_EmployeesTable::getJSONRecordsData($current_user, $filter_ar); break; case 'planning_overview': $show_tabmenu = $show_header = true; $page_content_ar[] = TS_Module_HRM_PresencePlanning_Tables_PlanningTable::getTable($current_user, $filter_ar); break; case 'get_json_planning': header('Content-type: application/json'); $page_content_ar[] = TS_Module_HRM_PresencePlanning_Tables_PlanningTable::getJSONRecordsData($current_user, $filter_ar); break; case 'css_mainstyles': header("Content-type: text/css; charset: UTF-8"); include $_SERVER['DOCUMENT_ROOT'] . TS_Module_HRM_PresencePlanning_Constants::MODULE_ROOT_PATH . 'css/mainstyles.css'; die; case 'set_employee_leave_field_value': $selected_leave_id = !empty($_REQUEST['record_id']) ? $_REQUEST['record_id'] : 0;