mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-13 21:13:26 +00:00
Fix #110 : make user management table sortable
This commit is contained in:
@@ -128,10 +128,10 @@ class User_Query implements User_QueryInterface
|
||||
const SORT_FIRSTNAME= 'usr_prenom';
|
||||
const SORT_LASTNAME= 'usr_nom';
|
||||
const SORT_COMPANY = 'societe';
|
||||
const SORT_LOGIN = 'login';
|
||||
const SORT_LOGIN = 'usr_login';
|
||||
const SORT_EMAIL = 'usr_mail';
|
||||
const SORT_ID = 'usr_id';
|
||||
const SORT_CREATIONDATE = 'creationdate';
|
||||
const SORT_CREATIONDATE = 'usr_creationdate';
|
||||
const SORT_COUNTRY = 'pays';
|
||||
const SORT_LASTMODEL = 'lastModel';
|
||||
|
||||
@@ -410,6 +410,8 @@ class User_Query implements User_QueryInterface
|
||||
case self::SORT_COMPANY:
|
||||
case self::SORT_LOGIN:
|
||||
case self::SORT_EMAIL:
|
||||
$sorter[$k] = ' usr.`' . $sort . '` COLLATE utf8_unicode_ci ';
|
||||
break;
|
||||
case self::SORT_ID:
|
||||
case self::SORT_CREATIONDATE:
|
||||
case self::SORT_COUNTRY:
|
||||
@@ -430,7 +432,7 @@ class User_Query implements User_QueryInterface
|
||||
$sorter[$k] .= ' ASC ';
|
||||
break;
|
||||
case self::ORD_DESC:
|
||||
$sorter[$k] .= ' ASC ';
|
||||
$sorter[$k] .= ' DESC ';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@@ -68,29 +68,75 @@
|
||||
<table id="users" cellspacing="0" cellpadding="0" border="0" class="admintable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align: center;">
|
||||
<th style="text-align: center;" class="sortable {{ parm.srt == 'usr_id' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||
{% trans 'admin::compte-utilisateur id utilisateur' %}
|
||||
<span class="ord_notifier">
|
||||
{{ parm.ord == 'asc' ? '▼' : '▲' }}
|
||||
</span>
|
||||
<input type="hidden" name="srt" value="usr_id" />
|
||||
</th>
|
||||
<th>
|
||||
<th class="sortable {{ parm.srt == 'usr_login' ? 'sorted' : '' }} ">
|
||||
<span>
|
||||
{% trans 'admin::compte-utilisateur identifiant' %}
|
||||
</span>
|
||||
<span class="ord_notifier">
|
||||
{{ parm.ord == 'asc' ? '▼' : '▲' }}
|
||||
</span>
|
||||
<input type="hidden" name="srt" value="usr_login" />
|
||||
</th>
|
||||
<th>
|
||||
<th class="sortable {{ parm.srt == 'usr_nom' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<span>
|
||||
{% trans 'admin::compte-utilisateur nom/prenom' %}
|
||||
</span>
|
||||
<span class="ord_notifier">
|
||||
{{ parm.ord == 'asc' ? '▼' : '▲' }}
|
||||
</span>
|
||||
<input type="hidden" name="srt" value="usr_nom" />
|
||||
</th>
|
||||
<th>
|
||||
<th class="sortable {{ parm.srt == 'societe' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<span>
|
||||
{% trans 'admin::compte-utilisateur societe' %}
|
||||
</span>
|
||||
<span class="ord_notifier">
|
||||
{{ parm.ord == 'asc' ? '▼' : '▲' }}
|
||||
</span>
|
||||
<input type="hidden" name="srt" value="societe" />
|
||||
</th>
|
||||
<th>
|
||||
<th class="sortable {{ parm.srt == 'usr_mail' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<span>
|
||||
{% trans 'admin::compte-utilisateur email' %}
|
||||
</span>
|
||||
<span class="ord_notifier">
|
||||
{{ parm.ord == 'asc' ? '▼' : '▲' }}
|
||||
</span>
|
||||
<input type="hidden" name="srt" value="usr_mail" />
|
||||
</th>
|
||||
<th>
|
||||
<th class="sortable {{ parm.srt == 'pays' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<span>
|
||||
{% trans 'admin::compte-utilisateur pays' %}
|
||||
</span>
|
||||
<span class="ord_notifier">
|
||||
{{ parm.ord == 'asc' ? '▼' : '▲' }}
|
||||
</span>
|
||||
<input type="hidden" name="srt" value="pays" />
|
||||
</th>
|
||||
<th>
|
||||
<th class="sortable {{ parm.srt == 'lastModel' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<span>
|
||||
{% trans 'admin::compte-utilisateur dernier modele applique' %}
|
||||
</span>
|
||||
<span class="ord_notifier">
|
||||
{{ parm.ord == 'asc' ? '▼' : '▲' }}
|
||||
</span>
|
||||
<input type="hidden" name="srt" value="lastModel" />
|
||||
</th>
|
||||
<th>
|
||||
<th class="sortable {{ parm.srt == 'usr_creationdate' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<span>
|
||||
{% trans 'admin::compte-utilisateur date de creation' %}
|
||||
</span>
|
||||
<span class="ord_notifier">
|
||||
{{ parm.ord == 'asc' ? '▼' : '▲' }}
|
||||
</span>
|
||||
<input type="hidden" name="srt" value="usr_creationdate" />
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
@@ -18,6 +18,29 @@ $(document).ready(function(){
|
||||
$(n).addClass('selected');
|
||||
return true;
|
||||
}
|
||||
|
||||
$('#users th.sortable').live('click', function(){
|
||||
|
||||
var $this = $(this);
|
||||
|
||||
var sort = $('input', $this).val();
|
||||
|
||||
if((sort == $('#users_page_form input[name="srt"]').val())
|
||||
&& ($('#users_page_form input[name="ord"]').val() == 'asc'))
|
||||
{
|
||||
var ord = 'desc';
|
||||
}
|
||||
else
|
||||
{
|
||||
var ord = 'asc';
|
||||
}
|
||||
|
||||
$('#users_page_form input[name="srt"]').val(sort);
|
||||
$('#users_page_form input[name="ord"]').val(ord);
|
||||
|
||||
$('#users_page_form').trigger('submit');
|
||||
}).live('mouseover', function(){$(this).addClass('hover');})
|
||||
.live('mouseout', function(){$(this).removeClass('hover');});
|
||||
|
||||
var buttons = {};
|
||||
buttons[language.create_user] = function(){
|
||||
|
@@ -141,4 +141,20 @@ table.admintable tbody .dropdown{
|
||||
.users_col.options{
|
||||
cursor:pointer;
|
||||
color:#AFAFAF;
|
||||
}
|
||||
#users th.sortable span{
|
||||
margin:0 5px;
|
||||
}
|
||||
#users th.sortable{
|
||||
cursor:pointer;
|
||||
}
|
||||
#users th.sortable.hover,
|
||||
#users th.sortable.sorted{
|
||||
background-color:#F0AD30;
|
||||
}
|
||||
#users th.sortable span.ord_notifier{
|
||||
display:none;
|
||||
}
|
||||
#users th.sortable.sorted span.ord_notifier{
|
||||
display:inline;
|
||||
}
|
Reference in New Issue
Block a user