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_FIRSTNAME= 'usr_prenom';
|
||||||
const SORT_LASTNAME= 'usr_nom';
|
const SORT_LASTNAME= 'usr_nom';
|
||||||
const SORT_COMPANY = 'societe';
|
const SORT_COMPANY = 'societe';
|
||||||
const SORT_LOGIN = 'login';
|
const SORT_LOGIN = 'usr_login';
|
||||||
const SORT_EMAIL = 'usr_mail';
|
const SORT_EMAIL = 'usr_mail';
|
||||||
const SORT_ID = 'usr_id';
|
const SORT_ID = 'usr_id';
|
||||||
const SORT_CREATIONDATE = 'creationdate';
|
const SORT_CREATIONDATE = 'usr_creationdate';
|
||||||
const SORT_COUNTRY = 'pays';
|
const SORT_COUNTRY = 'pays';
|
||||||
const SORT_LASTMODEL = 'lastModel';
|
const SORT_LASTMODEL = 'lastModel';
|
||||||
|
|
||||||
@@ -410,6 +410,8 @@ class User_Query implements User_QueryInterface
|
|||||||
case self::SORT_COMPANY:
|
case self::SORT_COMPANY:
|
||||||
case self::SORT_LOGIN:
|
case self::SORT_LOGIN:
|
||||||
case self::SORT_EMAIL:
|
case self::SORT_EMAIL:
|
||||||
|
$sorter[$k] = ' usr.`' . $sort . '` COLLATE utf8_unicode_ci ';
|
||||||
|
break;
|
||||||
case self::SORT_ID:
|
case self::SORT_ID:
|
||||||
case self::SORT_CREATIONDATE:
|
case self::SORT_CREATIONDATE:
|
||||||
case self::SORT_COUNTRY:
|
case self::SORT_COUNTRY:
|
||||||
@@ -430,7 +432,7 @@ class User_Query implements User_QueryInterface
|
|||||||
$sorter[$k] .= ' ASC ';
|
$sorter[$k] .= ' ASC ';
|
||||||
break;
|
break;
|
||||||
case self::ORD_DESC:
|
case self::ORD_DESC:
|
||||||
$sorter[$k] .= ' ASC ';
|
$sorter[$k] .= ' DESC ';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -68,29 +68,75 @@
|
|||||||
<table id="users" cellspacing="0" cellpadding="0" border="0" class="admintable">
|
<table id="users" cellspacing="0" cellpadding="0" border="0" class="admintable">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<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' %}
|
{% 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>
|
<th class="sortable {{ parm.srt == 'usr_login' ? 'sorted' : '' }} ">
|
||||||
|
<span>
|
||||||
{% trans 'admin::compte-utilisateur identifiant' %}
|
{% 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>
|
<th class="sortable {{ parm.srt == 'usr_nom' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||||
|
<span>
|
||||||
{% trans 'admin::compte-utilisateur nom/prenom' %}
|
{% 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>
|
<th class="sortable {{ parm.srt == 'societe' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||||
|
<span>
|
||||||
{% trans 'admin::compte-utilisateur societe' %}
|
{% trans 'admin::compte-utilisateur societe' %}
|
||||||
|
</span>
|
||||||
|
<span class="ord_notifier">
|
||||||
|
{{ parm.ord == 'asc' ? '▼' : '▲' }}
|
||||||
|
</span>
|
||||||
|
<input type="hidden" name="srt" value="societe" />
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th class="sortable {{ parm.srt == 'usr_mail' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||||
|
<span>
|
||||||
{% trans 'admin::compte-utilisateur email' %}
|
{% 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>
|
<th class="sortable {{ parm.srt == 'pays' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||||
|
<span>
|
||||||
{% trans 'admin::compte-utilisateur pays' %}
|
{% trans 'admin::compte-utilisateur pays' %}
|
||||||
|
</span>
|
||||||
|
<span class="ord_notifier">
|
||||||
|
{{ parm.ord == 'asc' ? '▼' : '▲' }}
|
||||||
|
</span>
|
||||||
|
<input type="hidden" name="srt" value="pays" />
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th class="sortable {{ parm.srt == 'lastModel' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||||
|
<span>
|
||||||
{% trans 'admin::compte-utilisateur dernier modele applique' %}
|
{% 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>
|
<th class="sortable {{ parm.srt == 'usr_creationdate' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||||
|
<span>
|
||||||
{% trans 'admin::compte-utilisateur date de creation' %}
|
{% 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>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
@@ -18,6 +18,29 @@ $(document).ready(function(){
|
|||||||
$(n).addClass('selected');
|
$(n).addClass('selected');
|
||||||
return true;
|
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 = {};
|
var buttons = {};
|
||||||
buttons[language.create_user] = function(){
|
buttons[language.create_user] = function(){
|
||||||
|
@@ -141,4 +141,20 @@ table.admintable tbody .dropdown{
|
|||||||
.users_col.options{
|
.users_col.options{
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
color:#AFAFAF;
|
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