summaryrefslogtreecommitdiffstats
path: root/archiva-modules
diff options
context:
space:
mode:
authorOlivier Lamy <olamy@apache.org>2013-01-02 10:51:04 +0000
committerOlivier Lamy <olamy@apache.org>2013-01-02 10:51:04 +0000
commit07aafa69cf7c43f0907e5220f7696e1654f65201 (patch)
treefa86eab89b47dd301e1f2a51ce068d3b45e86840 /archiva-modules
parent4d615d7fd96338332c911c7dc74ee2dfafa82e2e (diff)
downloadarchiva-07aafa69cf7c43f0907e5220f7696e1654f65201.tar.gz
archiva-07aafa69cf7c43f0907e5220f7696e1654f65201.zip
[MRM-1734] add some filtering for searching in users table
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1427725 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'archiva-modules')
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/redback/users.js58
-rw-r--r--archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/redback/user-edit.html28
2 files changed, 78 insertions, 8 deletions
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/redback/users.js b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/redback/users.js
index dca2c84ee..d3df7fb8e 100644
--- a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/redback/users.js
+++ b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/redback/users.js
@@ -51,10 +51,51 @@ function(jquery,utils,i18n,jqueryValidate,ko,koSimpleGrid) {
});
clearFilters=function(){
self.users(self.originalUsers());
- applyAutocompleteOnHeader("username",self);
- applyAutocompleteOnHeader("fullName",self);
- applyAutocompleteOnHeader("email",self);
+ applyAutocompleteOnHeaders(self);
};
+ filterLocked=function(){
+ var founds=[];
+ $(self.originalUsers()).each(function(idx,user){
+ if(user.locked()){
+ founds.push(user);
+ }
+ });
+ self.users(founds);
+ applyAutocompleteOnHeaders(self);
+ }
+ filterNonLocked=function(){
+ var founds=[];
+ $(self.originalUsers()).each(function(idx,user){
+ if(user.locked()==false){
+ founds.push(user);
+ }
+ });
+ self.users(founds);
+ applyAutocompleteOnHeaders(self);
+ }
+
+ filterPasswordChangeRequired=function(){
+ var founds=[];
+ $(self.originalUsers()).each(function(idx,user){
+ if(user.passwordChangeRequired()){
+ founds.push(user);
+ }
+ });
+ self.users(founds);
+ applyAutocompleteOnHeaders(self);
+ }
+ filterPasswordChangeNotRequired=function(){
+ var founds=[];
+ $(self.originalUsers()).each(function(idx,user){
+ if(user.passwordChangeRequired()==false){
+ founds.push(user);
+ }
+ });
+ self.users(founds);
+ applyAutocompleteOnHeaders(self);
+ }
+
+
this.addUser=function() {
clearUserMessages();
var mainContent = $("#main-content");
@@ -298,15 +339,20 @@ function(jquery,utils,i18n,jqueryValidate,ko,koSimpleGrid) {
})
mainContent.find("#users-view-tabs-content #users-view").addClass("active");
- applyAutocompleteOnHeader("username",usersViewModel);
- applyAutocompleteOnHeader("fullName",usersViewModel);
- applyAutocompleteOnHeader("email",usersViewModel);
+ applyAutocompleteOnHeaders(usersViewModel);
+ mainContent.find("#usersTable").find('.dropdown-toggle').dropdown();
}
}
);
}
+ applyAutocompleteOnHeaders=function(usersViewModel){
+ applyAutocompleteOnHeader("username",usersViewModel);
+ applyAutocompleteOnHeader("fullName",usersViewModel);
+ applyAutocompleteOnHeader("email",usersViewModel);
+ }
+
activateUsersGridTab=function(){
var mainContent = $("#main-content");
mainContent.find("#users-view-tabs li").removeClass("active");
diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/redback/user-edit.html b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/redback/user-edit.html
index 6ec095661..304597ccb 100644
--- a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/redback/user-edit.html
+++ b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/redback/user-edit.html
@@ -200,8 +200,32 @@
{{/each}}
<th></th>
<th></th>
- <th>locked ?</th>
- <th>chg pwd</th>
+ <th>
+ <div class="btn-group" style="vertical-align: top; padding-bottom: 9px;">
+ <a class="btn btn-small dropdown-toggle" data-toggle="dropdown" href="#">
+ Filter
+ <span class="caret"></span>
+ </a>
+ <ul class="dropdown-menu">
+ <li><a href="#" class="cursor-hand" data-bind="click: clearFilters">${$.i18n.prop('users.grid.filter.all')}</a></li>
+ <li><a href="#" class="cursor-hand" data-bind="click: filterLocked">${$.i18n.prop('users.grid.filter.locked')}</a></li>
+ <li><a href="#" class="cursor-hand" data-bind="click: filterNonLocked">${$.i18n.prop('users.grid.filter.not.locked')}</a></li>
+ </ul>
+ </div>
+ </th>
+ <th>
+ <div class="btn-group" style="vertical-align: top; padding-bottom: 9px;">
+ <a class="btn btn-small dropdown-toggle" data-toggle="dropdown" href="#">
+ Filter
+ <span class="caret"></span>
+ </a>
+ <ul class="dropdown-menu">
+ <li><a href="#" class="cursor-hand" data-bind="click: clearFilters">${$.i18n.prop('users.grid.filter.all')}</a></li>
+ <li><a href="#" class="cursor-hand" data-bind="click: filterPasswordChangeRequired">${$.i18n.prop('users.grid.filter.pwd.change.required')}</a></li>
+ <li><a href="#" class="cursor-hand" data-bind="click: filterPasswordChangeNotRequired">${$.i18n.prop('users.grid.filter.pwd.change.not.required')}</a></li>
+ </ul>
+ </div>
+ </th>
</tr>
</thead>
<tbody>