Description:
also shows users in all (without pagination)
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r300:5e2d8fe98a1a - - 2 files changed: 15 inserted, 1 deleted

@@ -1,68 +1,74
1 1 class UserAdminController < ApplicationController
2 2
3 3 include MailHelperMethods
4 4
5 5 before_filter :admin_authorization
6 6
7 7 def index
8 8 list
9 9 render :action => 'list'
10 10 end
11 11
12 12 # GETs should be safe (see http://www.w3.org/2001/tag/doc/whenToUseGet.html)
13 13 verify :method => :post, :only => [ :destroy,
14 14 :create, :create_from_list,
15 15 :update ],
16 16 :redirect_to => { :action => :list }
17 17
18 18 def list
19 19 @user_count = User.count
20 + if params[:page] == 'all'
21 + @users = User.all
22 + @paginated = false
23 + else
20 24 @users = User.paginate :page => params[:page]
25 + @paginated = true
26 + end
21 27 @hidden_columns = ['hashed_password', 'salt', 'created_at', 'updated_at']
22 28 @contests = Contest.enabled
23 29 end
24 30
25 31 def active
26 32 sessions = ActiveRecord::SessionStore::Session.find(:all, :conditions => ["updated_at >= ?", 60.minutes.ago])
27 33 @users = []
28 34 sessions.each do |session|
29 35 if session.data[:user_id]
30 36 @users << User.find(session.data[:user_id])
31 37 end
32 38 end
33 39 end
34 40
35 41 def show
36 42 @user = User.find(params[:id])
37 43 end
38 44
39 45 def new
40 46 @user = User.new
41 47 end
42 48
43 49 def create
44 50 @user = User.new(params[:user])
45 51 @user.activated = true
46 52 if @user.save
47 53 flash[:notice] = 'User was successfully created.'
48 54 redirect_to :action => 'list'
49 55 else
50 56 render :action => 'new'
51 57 end
52 58 end
53 59
54 60 def create_from_list
55 61 lines = params[:user_list]
56 62
57 63 note = []
58 64
59 65 lines.split("\n").each do |line|
60 66 items = line.chomp.split(',')
61 67 if items.length>=2
62 68 login = items[0]
63 69 full_name = items[1]
64 70
65 71 added_random_password = false
66 72 if items.length>=3
67 73 password = items[2]
68 74 user_alias = (items.length>=4) ? items[3] : login
@@ -1,77 +1,85
1 1 <h1>Listing users</h1>
2 2
3 3 <div class="submitbox">
4 4 <b>Quick add</b>
5 5 <% form_tag :action => 'create' do %>
6 6 <table border="0">
7 7 <tr>
8 8 <td><label for="user_login">Login</label></td>
9 9 <td><label for="user_full_name">Full name</label></td>
10 10 <td><label for="user_password">Password</label></td>
11 11 <td><label for="user_password_confirmation">Confirm</label></td>
12 12 <td><label for="user_email">Email</label></td>
13 13 </tr>
14 14 <tr>
15 15 <td><%= text_field 'user', 'login', :size => 10 %></td>
16 16 <td><%= text_field 'user', 'full_name', :size => 30 %></td>
17 17 <td><%= password_field 'user', 'password', :size => 10 %></td>
18 18 <td><%= password_field 'user', 'password_confirmation', :size => 10 %></td>
19 19 <td><%= text_field 'user', 'email', :size => 15 %></td>
20 20 <td><%= submit_tag "Create" %></td>
21 21 </tr>
22 22 </table>
23 23 <% end %>
24 24 <br/>
25 25 <b>Import from site management</b>
26 26 <% form_tag({:action => 'import'}, :multipart => true) do %>
27 27 File: <%= file_field_tag 'file' %> <%= submit_tag 'Import' %>
28 28 <% end %>
29 29 <br/>
30 30 <b>What else: </b>
31 31 <%= link_to '[New user]', :action => 'new' %>
32 32 <%= link_to '[New list of users]', :action => 'new_list' %>
33 33 <%= link_to '[View administrators]', :action => 'admin' %>
34 34 <%= link_to '[Random passwords]', :action => 'random_all_passwords' %>
35 35 <%= link_to '[View active users]', :action => 'active' %>
36 36 <% if Configuration.multicontests? %>
37 37 <br/><b>Multi-contest:</b>
38 38 <%= link_to '[Manage bulk users in contests]', :action => 'contest_management' %>
39 39 View users in:
40 40 <% @contests.each do |contest| %>
41 41 <%= link_to "[#{contest.name}]", :action => 'contests', :id => contest.id %>
42 42 <% end %>
43 43 <%= link_to "[no contest]", :action => 'contests', :id => 'none' %>
44 44 <% end %>
45 45 </div>
46 46
47 - Total <%= @user_count %> users | <%= will_paginate @users, :container => false %>
47 + Total <%= @user_count %> users |
48 + <% if !@paginated %>
49 + Display all users.
50 + <%= link_to '[show in pages]', :action => 'list', :page => '1' %>
51 + <% else %>
52 + Display in pages.
53 + <%= link_to '[display all]', :action => 'list', :page => 'all' %> |
54 + <%= will_paginate @users, :container => false %>
55 + <% end %>
48 56 <table class="info">
49 57 <tr class="info-head">
50 58 <% for column in User.content_columns %>
51 59 <% if !@hidden_columns.index(column.name) %>
52 60 <th><%= column.human_name %></th>
53 61 <% end %>
54 62 <% end %>
55 63 <th></th>
56 64 <th></th>
57 65 <th></th>
58 66 </tr>
59 67
60 68 <% for user in @users %>
61 69 <tr class="info-<%= cycle("odd","even") %>">
62 70 <% for column in User.content_columns %>
63 71 <% if !@hidden_columns.index(column.name) %>
64 72 <td><%=h user.send(column.name) %></td>
65 73 <% end %>
66 74 <% end %>
67 75 <td><%= link_to 'Show', :action => 'show', :id => user %></td>
68 76 <td><%= link_to 'Edit', :action => 'edit', :id => user %></td>
69 77 <td><%= link_to 'Destroy', { :action => 'destroy', :id => user }, :confirm => 'Are you sure?', :method => :post %></td>
70 78 </tr>
71 79 <% end %>
72 80 </table>
73 81
74 82 <br />
75 83
76 84 <%= link_to '[New user]', :action => 'new' %>
77 85 <%= link_to '[New list of users]', :action => 'new_list' %>
You need to be logged in to leave comments. Login now