From bda1afe818b863d3581694b6a3e779e78f2dab2e Mon Sep 17 00:00:00 2001 From: "kevin.dezaphi" <kevin.dezaphi@maarch.org> Date: Wed, 17 Oct 2018 17:47:12 +0200 Subject: [PATCH] FIX #8408 order by priorities defined by admin --- apps/maarch_entreprise/documents_list_copies.php | 11 +++++++++-- .../documents_list_with_attachments.php | 8 ++++++++ .../documents_list_mlb_search_adv.php | 3 +++ modules/attachments/frame_list_attachments.php | 3 +++ modules/avis/documents_list_with_avis.php | 10 +++++++++- modules/export_seda/export_seda_list.php | 10 +++++++++- modules/visa/documents_list_with_signatory.php | 10 +++++++++- 7 files changed, 50 insertions(+), 5 deletions(-) diff --git a/apps/maarch_entreprise/documents_list_copies.php b/apps/maarch_entreprise/documents_list_copies.php index 21110f8b88a..224a3135ccc 100755 --- a/apps/maarch_entreprise/documents_list_copies.php +++ b/apps/maarch_entreprise/documents_list_copies.php @@ -137,6 +137,10 @@ if (count($arr_order) == 1) { if (!empty($order_field) && !empty($order)) { if ($_REQUEST['order_field'] == 'alt_identifier') { $orderstr = 'order by order_alphanum(alt_identifier)'.' '.$order; + } else if ($_REQUEST['order_field'] == 'priority') { + $where .= ' and '.$table.'.priority = priorities.id'; + $select['priorities'] = ['order', 'id']; + $orderstr = 'order by priorities.order '.$order; } else { $orderstr = 'order by '.$order_field.' '.$order; } @@ -144,6 +148,10 @@ if (!empty($order_field) && !empty($order)) { } elseif (!empty($_SESSION['save_list']['order']) && !empty($_SESSION['save_list']['order_field'])) { if ($_SESSION['save_list']['order_field'] == 'alt_identifier') { $orderstr = 'order by order_alphanum(alt_identifier)'.' '.$_SESSION['save_list']['order']; + } else if ($_SESSION['save_list']['order_field']) { + $where .= ' and '.$table.'.priority = priorities.id'; + $select['priorities'] = ['order', 'id']; + $orderstr = 'order by priorities.order '.$_SESSION['save_list']['order']; } else { $orderstr = 'order by '.$_SESSION['save_list']['order_field'].' '.$_SESSION['save_list']['order']; } @@ -154,7 +162,6 @@ if (!empty($order_field) && !empty($order)) { $list->setOrder(); $list->setOrderField($arr_order[0]); } - $orderstr = 'order by '.str_replace('alt_identifier', 'order_alphanum(alt_identifier)', $_SESSION['current_basket']['basket_res_order']); $_SESSION['last_order_basket'] = $_SESSION['current_basket']['basket_res_order']; } else { $list->setOrder(); @@ -169,7 +176,7 @@ if (isset($_REQUEST['lines'])) { $limit = 'default'; } //Request -$tab = $request->PDOselect($select, $where, $arrayPDO, $orderstr, $_SESSION['config']['databasetype'], $limit, false, '', '', '', false, false, 'distinct', $_SESSION['save_list']['start']); +$tab = $request->PDOselect($select, $where, $arrayPDO, $orderstr, $_SESSION['config']['databasetype'], $limit, false, '', '', '', false, false, false, $_SESSION['save_list']['start']); $_SESSION['current_basket']['last_query'] = array(); $_SESSION['current_basket']['last_query']['select'] = $select; diff --git a/apps/maarch_entreprise/documents_list_with_attachments.php b/apps/maarch_entreprise/documents_list_with_attachments.php index 7c44d7a2b70..e03355a8694 100755 --- a/apps/maarch_entreprise/documents_list_with_attachments.php +++ b/apps/maarch_entreprise/documents_list_with_attachments.php @@ -136,6 +136,10 @@ if (count($arr_order) == 1) { if (!empty($order_field) && !empty($order)) { if ($_REQUEST['order_field'] == 'alt_identifier') { $orderstr = 'order by order_alphanum(alt_identifier)'.' '.$order; + } else if ($_REQUEST['order_field'] == 'priority') { + $where .= ' and '.$table.'.priority = priorities.id'; + $select['priorities'] = ['order', 'id']; + $orderstr = 'order by priorities.order '.$order; } else { $orderstr = 'order by '.$order_field.' '.$order; } @@ -143,6 +147,10 @@ if (!empty($order_field) && !empty($order)) { } elseif (!empty($_SESSION['save_list']['order']) && !empty($_SESSION['save_list']['order_field'])) { if ($_SESSION['save_list']['order_field'] == 'alt_identifier') { $orderstr = 'order by order_alphanum(alt_identifier)'.' '.$_SESSION['save_list']['order']; + } else if ($_SESSION['save_list']['order_field']) { + $where .= ' and '.$table.'.priority = priorities.id'; + $select['priorities'] = ['order', 'id']; + $orderstr = 'order by priorities.order '.$_SESSION['save_list']['order']; } else { $orderstr = 'order by '.$_SESSION['save_list']['order_field'].' '.$_SESSION['save_list']['order']; } diff --git a/apps/maarch_entreprise/indexing_searching/documents_list_mlb_search_adv.php b/apps/maarch_entreprise/indexing_searching/documents_list_mlb_search_adv.php index 349f68cc0d9..24435e9cbbb 100755 --- a/apps/maarch_entreprise/indexing_searching/documents_list_mlb_search_adv.php +++ b/apps/maarch_entreprise/indexing_searching/documents_list_mlb_search_adv.php @@ -308,6 +308,9 @@ if ($mode == 'normal') { if (!empty($order_field) && !empty($order)) { if ($_REQUEST['order_field'] == 'alt_identifier') { $orderstr = 'order by order_alphanum(alt_identifier)'.' '.$order; + } else if ($_REQUEST['order_field'] == 'priority') { + $select['priorities'] = ['order', 'id']; + $orderstr = 'order by (select priorities.order from priorities where priorities.id = priority) '.$order; } else { $orderstr = 'order by '.$order_field.' '.$order; } diff --git a/modules/attachments/frame_list_attachments.php b/modules/attachments/frame_list_attachments.php index 9e2c04f3775..7357f432760 100755 --- a/modules/attachments/frame_list_attachments.php +++ b/modules/attachments/frame_list_attachments.php @@ -114,6 +114,9 @@ $order_field = $list->getOrderField(); if (!empty($order_field) && !empty($order)) { if ($_REQUEST['order_field'] == 'identifier') { $orderstr = "order by order_alphanum(identifier)"." ".$order; + } else if ($_REQUEST['order_field'] == 'priority') { + $select['priorities'] = ['order', 'id']; + $orderstr = 'order by (select priorities.order from priorities where priorities.id = priority) '.$order; } else { $orderstr = "order by ".$order_field." ".$order; } diff --git a/modules/avis/documents_list_with_avis.php b/modules/avis/documents_list_with_avis.php index e464468c008..4c8476c8274 100755 --- a/modules/avis/documents_list_with_avis.php +++ b/modules/avis/documents_list_with_avis.php @@ -132,6 +132,10 @@ $order_field = $list->getOrderField(); if (!empty($order_field) && !empty($order)) { if ($_REQUEST['order_field'] == 'alt_identifier') { $orderstr = 'order by order_alphanum(alt_identifier)'.' '.$order; + } else if ($_REQUEST['order_field'] == 'priority') { + $where .= ' and '.$table.'.priority = priorities.id'; + $select['priorities'] = ['order', 'id']; + $orderstr = 'order by priorities.order '.$order; } else { $orderstr = 'order by '.$order_field.' '.$order; } @@ -139,6 +143,10 @@ if (!empty($order_field) && !empty($order)) { } elseif (!empty($_SESSION['save_list']['order']) && !empty($_SESSION['save_list']['order_field'])) { if ($_SESSION['save_list']['order_field'] == 'alt_identifier') { $orderstr = 'order by order_alphanum(alt_identifier)'.' '.$_SESSION['save_list']['order']; + } else if ($_SESSION['save_list']['order_field']) { + $where .= ' and '.$table.'.priority = priorities.id'; + $select['priorities'] = ['order', 'id']; + $orderstr = 'order by priorities.order '.$_SESSION['save_list']['order']; } else { $orderstr = 'order by '.$_SESSION['save_list']['order_field'].' '.$_SESSION['save_list']['order']; } @@ -155,7 +163,7 @@ if (isset($_REQUEST['lines'])) { $limit = 'default'; } //Request -$tab = $request->PDOselect($select, $where, $arrayPDO, $orderstr, $_SESSION['config']['databasetype'], $limit, false, '', '', '', false, false, 'distinct', $_SESSION['save_list']['start']); +$tab = $request->PDOselect($select, $where, $arrayPDO, $orderstr, $_SESSION['config']['databasetype'], $limit, false, '', '', '', false, false, false, $_SESSION['save_list']['start']); //Templates $defaultTemplate = 'documents_list_with_avis'; diff --git a/modules/export_seda/export_seda_list.php b/modules/export_seda/export_seda_list.php index 9c6abdd4676..2482657349c 100644 --- a/modules/export_seda/export_seda_list.php +++ b/modules/export_seda/export_seda_list.php @@ -137,6 +137,10 @@ $order_field = $list->getOrderField(); if (!empty($order_field) && !empty($order)) { if ($_REQUEST['order_field'] == 'alt_identifier') { $orderstr = 'order by order_alphanum(alt_identifier)'.' '.$order; + } else if ($_REQUEST['order_field'] == 'priority') { + $where .= ' and '.$table.'.priority = priorities.id'; + $select['priorities'] = ['order', 'id']; + $orderstr = 'order by priorities.order '.$order; } else { $orderstr = 'order by '.$order_field.' '.$order; } @@ -144,6 +148,10 @@ if (!empty($order_field) && !empty($order)) { } elseif (!empty($_SESSION['save_list']['order']) && !empty($_SESSION['save_list']['order_field'])) { if ($_SESSION['save_list']['order_field'] == 'alt_identifier') { $orderstr = 'order by order_alphanum(alt_identifier)'.' '.$_SESSION['save_list']['order']; + } else if ($_SESSION['save_list']['order_field']) { + $where .= ' and '.$table.'.priority = priorities.id'; + $select['priorities'] = ['order', 'id']; + $orderstr = 'order by priorities.order '.$_SESSION['save_list']['order']; } else { $orderstr = 'order by '.$_SESSION['save_list']['order_field'].' '.$_SESSION['save_list']['order']; } @@ -156,7 +164,7 @@ if (!empty($order_field) && !empty($order)) { } //Request -$tab = $request->PDOselect($select, $where, $arrayPDO, $orderstr, $_SESSION['config']['databasetype'], $_SESSION['config']['databasesearchlimit'], false, '', '', '', false, false, 'distinct'); +$tab = $request->PDOselect($select, $where, $arrayPDO, $orderstr, $_SESSION['config']['databasetype'], $_SESSION['config']['databasesearchlimit'], false, '', '', '', false, false, false); // $request->show(); exit; //Templates $defaultTemplate = 'documents_list_with_attachments'; diff --git a/modules/visa/documents_list_with_signatory.php b/modules/visa/documents_list_with_signatory.php index 614d41b85f2..7fbb39f26d7 100755 --- a/modules/visa/documents_list_with_signatory.php +++ b/modules/visa/documents_list_with_signatory.php @@ -134,6 +134,10 @@ if (count($arr_order) == 1) { if (!empty($order_field) && !empty($order)) { if ($_REQUEST['order_field'] == 'alt_identifier') { $orderstr = 'order by order_alphanum(alt_identifier)'.' '.$order; + } else if ($_REQUEST['order_field'] == 'priority') { + $where .= ' and '.$table.'.priority = priorities.id'; + $select['priorities'] = ['order', 'id']; + $orderstr = 'order by priorities.order '.$order; } else { $orderstr = 'order by '.$order_field.' '.$order; } @@ -141,6 +145,10 @@ if (!empty($order_field) && !empty($order)) { } elseif (!empty($_SESSION['save_list']['order']) && !empty($_SESSION['save_list']['order_field'])) { if ($_SESSION['save_list']['order_field'] == 'alt_identifier') { $orderstr = 'order by order_alphanum(alt_identifier)'.' '.$_SESSION['save_list']['order']; + } else if ($_SESSION['save_list']['order_field']) { + $where .= ' and '.$table.'.priority = priorities.id'; + $select['priorities'] = ['order', 'id']; + $orderstr = 'order by priorities.order '.$_SESSION['save_list']['order']; } else { $orderstr = 'order by '.$_SESSION['save_list']['order_field'].' '.$_SESSION['save_list']['order']; } @@ -168,7 +176,7 @@ if (isset($_REQUEST['lines'])) { } //Request -$tab = $request->PDOselect($select, $where, $arrayPDO, $orderstr, $_SESSION['config']['databasetype'], $limit, false, '', '', '', false, false, 'distinct', $_SESSION['save_list']['start']); +$tab = $request->PDOselect($select, $where, $arrayPDO, $orderstr, $_SESSION['config']['databasetype'], $limit, false, '', '', '', false, false, false, $_SESSION['save_list']['start']); // $request->show(); exit; //Templates $defaultTemplate = 'documents_list_with_signatory'; -- GitLab