From 91edc4d822dcd867ee7d269f5e87690a601b89b5 Mon Sep 17 00:00:00 2001 From: Florian BLOUET Date: Wed, 17 Feb 2016 12:08:39 +0100 Subject: [PATCH] PHRAS-681 - fix default value of advanced search options: sort value and sort order --- lib/Alchemy/Phrasea/Helper/Prod.php | 7 +++++- resources/www/prod/js/jquery.main-prod.js | 8 ++++--- templates/web/prod/index.html.twig | 27 +++++++++++++---------- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/lib/Alchemy/Phrasea/Helper/Prod.php b/lib/Alchemy/Phrasea/Helper/Prod.php index ee8d5a249d..89aec363e6 100644 --- a/lib/Alchemy/Phrasea/Helper/Prod.php +++ b/lib/Alchemy/Phrasea/Helper/Prod.php @@ -21,7 +21,7 @@ class Prod extends Helper public function get_search_datas() { - $searchData = array('bases' => array(), 'dates' => array(), 'fields' => array(), 'sort' => array(),); + $searchData = array('bases' => array(), 'dates' => array(), 'fields' => array(), 'sort' => array(), 'elasticSort' => array()); $bases = $fields = $dates = $sort = array(); @@ -102,10 +102,15 @@ class Prod extends Helper } } + if (array_key_exists('elasticSort', $searchSet)){ + $elasticSort = $searchSet['elasticSort']; + } + $searchData['fields'] = $fields; $searchData['dates'] = $dates; $searchData['bases'] = $bases; $searchData['sort'] = $sort; + $searchData['elasticSort'] = $elasticSort; return $searchData; } diff --git a/resources/www/prod/js/jquery.main-prod.js b/resources/www/prod/js/jquery.main-prod.js index 07cb3cf984..0cfac327ad 100644 --- a/resources/www/prod/js/jquery.main-prod.js +++ b/resources/www/prod/js/jquery.main-prod.js @@ -133,7 +133,8 @@ function checkFilters(save) { fields: [], dates: {}, status: [], - sort: {} + elasticSort: {} + }; var adv_box = $('form.phrasea_query .adv_options'); @@ -221,8 +222,9 @@ function checkFilters(save) { $("option.default-selection", fieldsSort).prop("selected", true); $("option.default-selection", fieldsSortOrd).prop("selected", true); } - search.sort.by = $("option:selected:enabled", fieldsSort).val(); - search.sort.order = $("option:selected:enabled", fieldsSortOrd).val(); + + search.elasticSort.by = $("option:selected:enabled", fieldsSort).val(); + search.elasticSort.order = $("option:selected:enabled", fieldsSortOrd).val(); //--------- from fields filter --------- diff --git a/templates/web/prod/index.html.twig b/templates/web/prod/index.html.twig index 881f509526..776c170dae 100644 --- a/templates/web/prod/index.html.twig +++ b/templates/web/prod/index.html.twig @@ -240,21 +240,23 @@ {% set sortByDefault = app['phraseanet.SE'].getDefaultSort()%} {% set sortOrderDefault = app['phraseanet.SE'].getDefaultSortDirection()%} - {#{% set sortByPreference = constant('\\Alchemy\\Phrasea\\SearchEngine\\SearchEngineOptions::SORT_CREATED_ON') %}#} - {% if sortByPreference is not defined %} - {% set sortByPreference = sortByDefault %} + {% set sortByPreference = sortByDefault %} + {% if search_datas.elasticSort.by is defined %} + {% set sortByPreference = search_datas.elasticSort.by %} {% endif %} - {% if sortOrderPreference is not defined %} - {% set sortOrderPreference = sortOrderDefault %} + {% set sortOrderPreference = sortOrderDefault %} + {% if search_datas.elasticSort.order is defined %} + {% set sortOrderPreference = search_datas.elasticSort.order %} {% endif %} - {{ 'Trier par' | trans }}