PHRAS-681 - fix default value of advanced search options: sort value and sort order

This commit is contained in:
Florian BLOUET
2016-02-17 12:08:39 +01:00
parent cfac4d7ecd
commit 91edc4d822
3 changed files with 26 additions and 16 deletions

View File

@@ -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;
}

View File

@@ -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 ---------

View File

@@ -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 %}
{% if search_datas.elasticSort.by is defined %}
{% set sortByPreference = search_datas.elasticSort.by %}
{% endif %}
{% if sortOrderPreference is not defined %}
{% set sortOrderPreference = sortOrderDefault %}
{% if search_datas.elasticSort.order is defined %}
{% set sortOrderPreference = search_datas.elasticSort.order %}
{% endif %}
<span>{{ 'Trier par' | trans }}</span>
<select name="sort" class="input-medium" onchange="checkFilters(true);">
{% set b = (sortByPreference == constant('\\Alchemy\\Phrasea\\SearchEngine\\SearchEngineOptions::SORT_CREATED_ON')) %}
<option value="{{ constant('\\Alchemy\\Phrasea\\SearchEngine\\SearchEngineOptions::SORT_CREATED_ON') }}" {% if b %}selected="selected" class="default-selection"{% endif %}>{{ "Date Added"|trans }}</option>
{% set b = (sortByPreference == constant('\\Alchemy\\Phrasea\\SearchEngine\\SearchEngineOptions::SORT_RELEVANCE')) %}
<option value="{{ constant('\\Alchemy\\Phrasea\\SearchEngine\\SearchEngineOptions::SORT_RELEVANCE') }}" {% if b %}selected="selected" class="default-selection"{% endif %}>{{ "Relevance"|trans }}</option>
{% set isSelected = (sortByPreference == constant('\\Alchemy\\Phrasea\\SearchEngine\\SearchEngineOptions::SORT_CREATED_ON')) %}
{% set isDefault = (sortByDefault == constant('\\Alchemy\\Phrasea\\SearchEngine\\SearchEngineOptions::SORT_CREATED_ON')) %}
<option value="{{ constant('\\Alchemy\\Phrasea\\SearchEngine\\SearchEngineOptions::SORT_CREATED_ON') }}" {% if isSelected %}selected="selected"{% endif %}{% if isDefault %} class="default-selection"{% endif %}>{{ "Date Added"|trans }}</option>
{% set isSelected = (sortByPreference == constant('\\Alchemy\\Phrasea\\SearchEngine\\SearchEngineOptions::SORT_RELEVANCE')) %}
{% set isDefault = (sortByDefault == constant('\\Alchemy\\Phrasea\\SearchEngine\\SearchEngineOptions::SORT_RELEVANCE')) %}
<option value="{{ constant('\\Alchemy\\Phrasea\\SearchEngine\\SearchEngineOptions::SORT_RELEVANCE') }}" {% if isSelected %}selected="selected"{% endif %}{% if isDefault %} class="default-selection"{% endif %}>{{ "Relevance"|trans }}</option>
<optgroup label="{{ 'By field'|trans }}">
{% for fieldname, sort in search_datas['sort'] %}
{% set b = (sortOrderPreference == fieldname) %}
@@ -267,8 +269,9 @@
</select>
<select name="ord" class="input-medium" onchange="checkFilters(true);">
{% for ord, ord_name in app['phraseanet.SE'].getAvailableOrder() %}
{% set b = (app['phraseanet.SE'].getDefaultSortDirection() == ord) %}
<option value="{{ ord }}" {% if b %}selected="selected" class="default-selection"{% endif %}>{{ ord_name }}</option>
{% set isSelected = (sortOrderPreference == ord) %}
{% set isDefault = (sortOrderDefault == ord) %}
<option value="{{ ord }}" {% if isSelected %}selected="selected"{% endif %}{% if isDefault %} class="default-selection"{% endif %}>{{ ord_name }}</option>
{% endfor %}
</select>
</div>