]> source.dussan.org Git - redmine.git/commitdiff
added a status filter on users/list
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 18 Mar 2007 20:44:33 +0000 (20:44 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 18 Mar 2007 20:44:33 +0000 (20:44 +0000)
git-svn-id: http://redmine.rubyforge.org/svn/trunk@347 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/users_controller.rb
app/helpers/application_helper.rb
app/helpers/users_helper.rb
app/views/users/list.rhtml
lang/de.yml
lang/en.yml
lang/es.yml
lang/fr.yml
lang/it.yml
lang/ja.yml

index 5f0afcec7d6aff016e96ee3291f8d2033a1bbc88..45cec2e7aec502f44b265a3805ff45f543cb78e3 100644 (file)
@@ -32,11 +32,17 @@ class UsersController < ApplicationController
   def list
     sort_init 'login', 'asc'
     sort_update
-    @user_count = User.count           
+    
+    @status = params[:status] ? params[:status].to_i : 1    
+    conditions = nil
+    conditions = ["status=?", @status] unless @status == 0
+    
+    @user_count = User.count(:conditions => conditions)
     @user_pages = Paginator.new self, @user_count,
                                                                15,
                                                                params['page']                                                          
     @users =  User.find :all,:order => sort_clause,
+                        :conditions => conditions,
                                                :limit  =>  @user_pages.items_per_page,
                                                :offset =>  @user_pages.current.offset
 
index 0a6c29101614fb0ce1dd976c8032691c4cbae2fd..21f1b02470a220a0b11899fb95dcdd1b971f163d 100644 (file)
@@ -77,7 +77,7 @@ module ApplicationHelper
   def pagination_links_full(paginator, options={}, html_options={})
     html = ''    
     html << link_to_remote(('&#171; ' + l(:label_previous)), 
-                            {:update => "content", :url => { :page => paginator.current.previous }},
+                            {:update => "content", :url => params.merge({ :page => paginator.current.previous })},
                             {:href => url_for(:action => 'list', :params => params.merge({:page => paginator.current.previous}))}) + ' ' if paginator.current.previous
                             
     html << (pagination_links_each(paginator, options) do |n|
@@ -87,7 +87,7 @@ module ApplicationHelper
     end || '')
     
     html << ' ' + link_to_remote((l(:label_next) + ' &#187;'), 
-                                 {:update => "content", :url => { :page => paginator.current.next }},
+                                 {:update => "content", :url => params.merge({ :page => paginator.current.next })},
                                  {:href => url_for(:action => 'list', :params => params.merge({:page => paginator.current.next}))}) if paginator.current.next
     html  
   end
index adc62fb77332ce9be333a39f5cf85c18ba29fa58..9dc87c5cca61527bc7734b3a45efd83dc71b6b23 100644 (file)
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
 module UsersHelper
+  def status_options_for_select(selected)
+    options_for_select([[l(:label_all), "*"], 
+                        [l(:status_active), 1],
+                        [l(:status_registered), 2],
+                        [l(:status_locked), 3]], selected)
+  end
 end
index 87d42391cd0fb7d9263f10946f1bc39639045692..5d6e26d377fe4334024fe02c030c87c22553396b 100644 (file)
@@ -4,6 +4,15 @@
 
 <h2><%=l(:label_user_plural)%></h2>
 
+<% form_tag() do %>
+<fieldset><legend><%= l(:label_filter_plural) %></legend>
+<label><%= l(:field_status) %> :</label>
+<%= select_tag 'status', status_options_for_select(@status), :class => "small", :onchange => "this.form.submit(); return false;"  %>
+<%= submit_tag l(:button_apply), :class => "small" %>
+</fieldset>
+<% end %>
+&nbsp;
+
 <table class="list">           
   <thead><tr>
        <%= sort_header_tag('login', :caption => l(:field_login)) %>
index 8c5bbf170310f273f0125349daae2bec9b98dcd1..3e679ed631cb0b06a6260ddcfeb0c15d04ca18cb 100644 (file)
@@ -118,7 +118,6 @@ field_is_in_roadmap: Ansicht der Issues in der Roadmap
 field_login: Mitgliedsname\r
 field_mail_notification: Mailbenachrichtigung\r
 field_admin: Administrator\r
-field_locked: Gesperrt\r
 field_last_login_on: Letzte Anmeldung\r
 field_language: Sprache\r
 field_effective_date: Datum\r
@@ -357,6 +356,10 @@ button_cancel: Annullieren
 button_activate: Aktivieren\r
 button_sort: Sortieren\r
 \r
+status_active: active\r
+status_registered: registered\r
+status_locked: locked\r
+\r
 text_select_mail_notifications: Aktionen für die Mailbenachrichtigung aktiviert werden soll.\r
 text_regexp_info: eg. ^[A-Z0-9]+$\r
 text_min_max_length_info: 0 heisst keine Beschränkung\r
index b6ada109b2f972912878a10a32fffe7f8e7bbd69..b7a2e96fbab07c7eb5c0c8d3d2938aa8e6491b3a 100644 (file)
@@ -118,7 +118,6 @@ field_is_in_roadmap: Issues displayed in roadmap
 field_login: Login\r
 field_mail_notification: Mail notifications\r
 field_admin: Administrator\r
-field_locked: Locked\r
 field_last_login_on: Last connection\r
 field_language: Language\r
 field_effective_date: Date\r
@@ -357,6 +356,10 @@ button_cancel: Cancel
 button_activate: Activate\r
 button_sort: Sort\r
 \r
+status_active: active\r
+status_registered: registered\r
+status_locked: locked\r
+\r
 text_select_mail_notifications: Select actions for which mail notifications should be sent.\r
 text_regexp_info: eg. ^[A-Z0-9]+$\r
 text_min_max_length_info: 0 means no restriction\r
index 337e5c753fa903282ed1ddcc472476597f3c0093..9640ab1444c9f5eda83baa803b0fd059f6ebe815 100644 (file)
@@ -118,7 +118,6 @@ field_is_in_roadmap: Consultar las peticiones en el roadmap
 field_login: Identificador\r
 field_mail_notification: Notificación por mail\r
 field_admin: Administrador\r
-field_locked: Cerrado\r
 field_last_login_on: Última conexión\r
 field_language: Lengua\r
 field_effective_date: Fecha\r
@@ -357,6 +356,10 @@ button_cancel: Cancelar
 button_activate: Activar\r
 button_sort: Clasificar\r
 \r
+status_active: active\r
+status_registered: registered\r
+status_locked: locked\r
+\r
 text_select_mail_notifications: Seleccionar las actividades que necesitan la activación de la notificación por mail.\r
 text_regexp_info: eg. ^[A-Z0-9]+$\r
 text_min_max_length_info: 0 para ninguna restricción\r
index 84995c83d68c56de1d9e9686b7c3b00e887840cf..758406d7ee0b13e2b758ec1789926786847fae19 100644 (file)
@@ -118,7 +118,6 @@ field_is_in_roadmap: Demandes affichées dans la roadmap
 field_login: Identifiant\r
 field_mail_notification: Notifications par mail\r
 field_admin: Administrateur\r
-field_locked: Verrouillé\r
 field_last_login_on: Dernière connexion\r
 field_language: Langue\r
 field_effective_date: Date\r
@@ -357,6 +356,10 @@ button_cancel: Annuler
 button_activate: Activer\r
 button_sort: Trier\r
 \r
+status_active: actif\r
+status_registered: enregistré\r
+status_locked: vérouillé\r
+\r
 text_select_mail_notifications: Sélectionner les actions pour lesquelles la notification par mail doit être activée.\r
 text_regexp_info: ex. ^[A-Z0-9]+$\r
 text_min_max_length_info: 0 pour aucune restriction\r
index 47c623bcccfa089f12dadc8bcdc0a532886d1124..c7a4bb92f43c5c0161020a056eab388394db749e 100644 (file)
@@ -118,7 +118,6 @@ field_is_in_roadmap: Contesti mostrati nel roadmap
 field_login: Login\r
 field_mail_notification: Notifiche via e-mail\r
 field_admin: Amministratore\r
-field_locked: Bloccato\r
 field_last_login_on: Ultima connessione\r
 field_language: Lingua\r
 field_effective_date: Data\r
@@ -357,6 +356,10 @@ button_cancel: Annulla
 button_activate: Attiva\r
 button_sort: Ordina\r
 \r
+status_active: active\r
+status_registered: registered\r
+status_locked: bloccato\r
+\r
 text_select_mail_notifications: Select actions for which mail notifications should be sent.\r
 text_regexp_info: eg. ^[A-Z0-9]+$\r
 text_min_max_length_info: 0 means no restriction\r
index 8466cf62f3d8c3e6e7545f8989fccaa225bf1d6f..06d0d4651dcbfd740f89ff9f4c947d68dce19b3b 100644 (file)
@@ -119,7 +119,6 @@ field_is_in_roadmap: Issues displayed in roadmap
 field_login: ログイン\r
 field_mail_notification: メール通知\r
 field_admin: 管理者\r
-field_locked: ロック済\r
 field_last_login_on: 最終接続日\r
 field_language: 言語\r
 field_effective_date: 日付\r
@@ -358,6 +357,10 @@ button_cancel: キャンセル
 button_activate: 有効にする\r
 button_sort: ソート\r
 \r
+status_active: active\r
+status_registered: registered\r
+status_locked: ロック済\r
+\r
 text_select_mail_notifications: どのメール通知を送信するか、アクションを選択してください。\r
 text_regexp_info: 例) ^[A-Z0-9]+$\r
 text_min_max_length_info: 0だと無制限になります\r