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);
 }
Esempio n. 2
0
 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;
 }