diff --git a/pandora_console/operation/incidents/list_integriaims_incidents.php b/pandora_console/operation/incidents/list_integriaims_incidents.php index 7d597a980e..5f32cb7398 100644 --- a/pandora_console/operation/incidents/list_integriaims_incidents.php +++ b/pandora_console/operation/incidents/list_integriaims_incidents.php @@ -60,6 +60,223 @@ $created_to = (string) get_parameter('created_to', ''); $offset = (int) get_parameter('offset'); $delete_incident = get_parameter('delete_incident'); + +// Sorting. +$sort_field = get_parameter('sort_field'); +$sort = get_parameter('sort', 'none'); + +$selected = true; +$select_incident_id_up = false; +$select_incident_id_down = false; +$select_title_up = false; +$select_title_down = false; +$select_group_company_up = false; +$select_group_company_down = false; +$select_status_resolution_up = false; +$select_status_resolution_down = false; +$select_priority_up = false; +$select_priority_down = false; +$select_creator_up = false; +$select_creator_down = false; +$select_owner_up = false; +$select_owner_down = false; + +$order[] = [ + 'field' => 'incident_id', + 'order' => 'ASC', +]; + +switch ($sort_field) { + case 'incident_id': + switch ($sort) { + case 'up': + $select_incident_id_up = $selected; + $order = [ + 'field' => 0, + 'order' => 'ASC', + ]; + break; + + case 'down': + $select_incident_id_down = $selected; + $order = [ + 'field' => 0, + 'order' => 'DESC', + ]; + break; + + default: + // Nothing to do. + break; + } + break; + + case 'title': + switch ($sort) { + case 'up': + $select_title_up = $selected; + $order = [ + 'field' => 3, + 'order' => 'ASC', + ]; + break; + + case 'down': + $select_title_down = $selected; + $order = [ + 'field' => 3, + 'order' => 'DESC', + ]; + break; + + default: + // Nothing to do. + break; + } + break; + + case 'group_company': + switch ($sort) { + case 'up': + $select_group_company_up = $selected; + $order = [ + 'field' => 'group_company', + 'order' => 'ASC', + ]; + break; + + case 'down': + $select_group_company_down = $selected; + $order = [ + 'field' => 'group_company', + 'order' => 'DESC', + ]; + break; + + default: + // Nothing to do. + break; + } + break; + + case 'status_resolution': + switch ($sort) { + case 'up': + $select_status_resolution_up = $selected; + $order = [ + 'field' => 'status_resolution', + 'order' => 'ASC', + ]; + break; + + case 'down': + $select_status_resolution_down = $selected; + $order = [ + 'field' => 'status_resolution', + 'order' => 'DESC', + ]; + break; + + default: + // Nothing to do. + break; + } + break; + + case 'priority': + switch ($sort) { + case 'up': + $select_priority_up = $selected; + $order = [ + 'field' => 7, + 'order' => 'ASC', + ]; + break; + + case 'down': + $select_priority_down = $selected; + $order = [ + 'field' => 7, + 'order' => 'DESC', + ]; + break; + + default: + // Nothing to do. + break; + } + break; + + case 'creator': + switch ($sort) { + case 'up': + $select_creator_up = $selected; + $order = [ + 'field' => 10, + 'order' => 'ASC', + ]; + break; + + case 'down': + $select_creator_down = $selected; + $order = [ + 'field' => 10, + 'order' => 'DESC', + ]; + break; + + default: + // Nothing to do. + break; + } + break; + + case 'owner': + switch ($sort) { + case 'up': + $select_owner_up = $selected; + $order = [ + 'field' => 5, + 'order' => 'ASC', + ]; + break; + + case 'down': + $select_owner_down = $selected; + $order = [ + 'field' => 5, + 'order' => 'DESC', + ]; + break; + + default: + // Nothing to do. + break; + } + break; + + default: + $select_incident_id_up = $selected; + $select_incident_id_down = false; + $select_title_up = false; + $select_title_down = false; + $select_group_company_up = false; + $select_group_company_down = false; + $select_status_resolution_up = false; + $select_status_resolution_down = false; + $select_priority_up = false; + $select_priority_down = false; + $select_creator_up = false; + $select_creator_down = false; + $select_owner_up = false; + $select_owner_down = false; + $order = [ + 'field' => 'id_user', + 'order' => 'ASC', + ]; + break; +} + if ($delete_incident) { // Call Integria IMS API method to delete an incident. $result_api_call_delete = integria_api_call( @@ -80,12 +297,6 @@ if ($delete_incident) { ); } -// Full url with all filters. -$url = ui_get_full_url( - 'index.php?sec=incident&sec2=operation/incidents/list_integriaims_incidents&incident_text='.$incident_text.'&incident_status='.$incident_status.'&incident_group='.$incident_group.'&incident_owner='.$incident_owner.'&incident_creator='.$incident_creator.'&incident_priority='.$incident_priority.'&incident_resolution='.$incident_resolution.'&created_from='.$created_from.'&created_to='.$created_to.'&offset='.$offset -); - - // ---- FILTERS ---- // API calls to fill the filters. $status_incident = integriaims_get_details('status'); @@ -204,6 +415,10 @@ $tickets_filters = [ // Data to export to csv file. $decode_csv = base64_encode(json_encode($tickets_filters)); +// Full url with all filters. +$url = ui_get_full_url( + 'index.php?sec=incident&sec2=operation/incidents/list_integriaims_incidents&incident_text='.$incident_text.'&incident_status='.$incident_status.'&incident_group='.$incident_group.'&incident_owner='.$incident_owner.'&incident_creator='.$incident_creator.'&incident_priority='.$incident_priority.'&incident_resolution='.$incident_resolution.'&created_from='.$created_from.'&created_to='.$created_to.'&offset='.$offset.'&sort_field='.$sort_field.'&sort='.$sort +); // ---- PRINT TABLE FILTERS ---- $integria_incidents_form = '