muck-users 3.2.0 → 3.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +13 -10
- data/VERSION +1 -1
- data/app/controllers/admin/muck/access_codes_controller.rb +1 -1
- data/app/controllers/admin/muck/users_controller.rb +9 -1
- data/app/controllers/muck/users_controller.rb +18 -20
- data/app/helpers/muck_users_helper.rb +20 -0
- data/app/views/admin/access_codes/_access_code.html.erb +6 -0
- data/app/views/admin/access_codes/index.html.erb +3 -1
- data/app/views/admin/users/_row.html.erb +1 -1
- data/app/views/admin/users/_search_box.html.erb +1 -1
- data/app/views/admin/users/index.html.erb +4 -1
- data/app/views/admin/users/show.html.erb +17 -0
- data/app/views/users/_availability.html.erb +2 -0
- data/app/views/users/_signup_form.html.erb +2 -5
- data/app/views/users/_signup_form_javascript.html.erb +3 -1
- data/config/locales/en.yml +5 -2
- data/db/migrate/20110420153714_add_provided_by_to_access_codes.rb +9 -0
- data/lib/muck-users/models/access_code.rb +2 -1
- data/lib/muck-users/models/user.rb +2 -1
- data/muck-users.gemspec +5 -4
- data/public/javascripts/muck-users.js +2 -6
- metadata +7 -6
- data/app/views/users/_available.html.erb +0 -1
- data/app/views/users/_unavailable.html.erb +0 -1
data/README.rdoc
CHANGED
@@ -126,7 +126,7 @@ Calling rake muck:sync:users will pull in images, javascript and other assets.
|
|
126
126
|
The javascript is automatically included when needed and does not need to be added to the head of your document.
|
127
127
|
It is recommended that you include muck-users.css or copy it's content's and modify it as needed.
|
128
128
|
|
129
|
-
===
|
129
|
+
=== Access Codes
|
130
130
|
muck-users includes the ability to require a code to sign up. Add a sign up form to collect emails:
|
131
131
|
|
132
132
|
<%= muck_form_for :access_code_request, :url => access_code_requests_path, :html => { :class => 'ajax beta_code_request_form' } do |f| -%>
|
@@ -142,17 +142,20 @@ All emails will be stored in the database. Access the admin to send out beta cod
|
|
142
142
|
http://yoursite.com/admin/access_codes
|
143
143
|
|
144
144
|
=== Helpers
|
145
|
-
|
146
|
-
the following code to include the needed javascript and css:
|
145
|
+
muck-users provides helpers that will build your signup form (@user is a new empty user):
|
147
146
|
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
147
|
+
<%= signup_form(@user) %>
|
148
|
+
|
149
|
+
This will build a sign in form:
|
150
|
+
|
151
|
+
<%= signin_form %>
|
152
|
+
|
153
|
+
If you need a random access code in a page just call (@user is optional but if set it should be the user sharing the access code with another user):
|
154
|
+
|
155
|
+
<%= random_access_code(@user) %>
|
153
156
|
|
154
|
-
|
155
|
-
|
157
|
+
=== Notes
|
158
|
+
If you override any of the controllers in muck-users be sure to include the appropriate routes in your project. Look at lib/config/routes.rb for examples.
|
156
159
|
|
157
160
|
|
158
161
|
== General information
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.2.
|
1
|
+
3.2.1
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class Admin::Muck::AccessCodesController < Admin::Muck::BaseController
|
2
2
|
|
3
3
|
def index
|
4
|
-
@codes = AccessCode.
|
4
|
+
@codes = AccessCode.by_newest.includes(:provided_by, :users).paginate(:page => @page, :per_page => @per_page)
|
5
5
|
render :template => 'admin/access_codes/index'
|
6
6
|
end
|
7
7
|
|
@@ -20,6 +20,13 @@ class Admin::Muck::UsersController < Admin::Muck::BaseController
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
+
def show
|
24
|
+
@user = User.find(params[:id])
|
25
|
+
respond_to do |format|
|
26
|
+
format.html { render :template => 'admin/users/show' }
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
23
30
|
def inactive
|
24
31
|
@user_inactive_count = User.inactive_count
|
25
32
|
@users = User.inactive.paginate(:page => @page, :per_page => @per_page)
|
@@ -46,7 +53,8 @@ class Admin::Muck::UsersController < Admin::Muck::BaseController
|
|
46
53
|
end
|
47
54
|
|
48
55
|
def search
|
49
|
-
@
|
56
|
+
@is_search = true
|
57
|
+
@users = User.where("first_name LIKE ? OR last_name LIKE ? OR email LIKE ?", params[:query], params[:query], params[:query] ).paginate(:page => @page, :per_page => @per_page )
|
50
58
|
respond_to do |format|
|
51
59
|
format.html { render :template => 'admin/users/index' }
|
52
60
|
format.js { render :partial => 'admin/users/table', :layout => false }
|
@@ -90,7 +90,10 @@ class Muck::UsersController < ApplicationController
|
|
90
90
|
end
|
91
91
|
|
92
92
|
def is_login_available
|
93
|
-
|
93
|
+
@available = 'unavailable'
|
94
|
+
@output_element = 'username'
|
95
|
+
recover_password_prompt = render_to_string :partial => 'users/recover_password_via_email_link', :locals => { :email => params[:user_email] }
|
96
|
+
result = t('muck.users.username_not_available', :reset_password_help => recover_password_prompt.html_safe).html_safe
|
94
97
|
if params[:user_login].nil?
|
95
98
|
result = ''
|
96
99
|
elsif params[:user_login].empty?
|
@@ -104,21 +107,18 @@ class Muck::UsersController < ApplicationController
|
|
104
107
|
result = t('muck.users.username_available')
|
105
108
|
end
|
106
109
|
end
|
110
|
+
if !@user.blank? && @user.errors[:login].blank? && !result.blank?
|
111
|
+
@available = 'available'
|
112
|
+
end
|
107
113
|
respond_to do |format|
|
108
|
-
|
109
|
-
|
110
|
-
format.js { render :partial => 'users/available', :locals => { :message => result } }
|
111
|
-
else
|
112
|
-
format.html { render :partial => 'users/unavailable', :locals => { :message => result } }
|
113
|
-
format.js { render :partial => 'users/unavailable', :locals => { :message => result } }
|
114
|
-
end
|
115
|
-
|
116
|
-
#format.html { render :text => result }
|
117
|
-
#format.js { render :text => result }
|
114
|
+
format.html { render :partial => 'users/availability', :locals => { :message => result } }
|
115
|
+
format.js { render :partial => 'users/availability', :locals => { :message => result } }
|
118
116
|
end
|
119
117
|
end
|
120
118
|
|
121
119
|
def is_email_available
|
120
|
+
@available = 'unavailable'
|
121
|
+
@output_element = 'email'
|
122
122
|
if params[:user_email].nil?
|
123
123
|
result = ''
|
124
124
|
elsif params[:user_email].empty?
|
@@ -134,19 +134,17 @@ class Muck::UsersController < ApplicationController
|
|
134
134
|
recover_password_prompt = render_to_string :partial => 'users/recover_password_via_email_link', :locals => { :email => params[:user_email] }
|
135
135
|
result = t('muck.users.email_not_available', :reset_password_help => recover_password_prompt.html_safe).html_safe
|
136
136
|
respond_to do |format|
|
137
|
-
format.html { render :partial => 'users/
|
138
|
-
format.js { render :partial => 'users/
|
137
|
+
format.html { render :partial => 'users/availability', :locals => { :message => result } }
|
138
|
+
format.js { render :partial => 'users/availability', :locals => { :message => result } }
|
139
139
|
end
|
140
140
|
return
|
141
|
+
end
|
142
|
+
if errors.blank? && ! result.nil?
|
143
|
+
@available = 'available'
|
141
144
|
end
|
142
145
|
respond_to do |format|
|
143
|
-
|
144
|
-
|
145
|
-
format.js { render :partial => 'users/available', :locals => { :message => result } }
|
146
|
-
else
|
147
|
-
format.html { render :partial => 'users/unavailable', :locals => { :message => result } }
|
148
|
-
format.js { render :partial => 'users/unavailable', :locals => { :message => result } }
|
149
|
-
end
|
146
|
+
format.html { render :partial => 'users/availability', :locals => { :message => result } }
|
147
|
+
format.js { render :partial => 'users/availability', :locals => { :message => result } }
|
150
148
|
end
|
151
149
|
end
|
152
150
|
|
@@ -16,6 +16,13 @@ module MuckUsersHelper
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
+
if params[:access_code].blank?
|
20
|
+
@access_code_help = '<p id="access_code_help" class="attention">' +
|
21
|
+
translate('muck.users.access_code_help',
|
22
|
+
:access_request_anchor => %Q{<a class="fancy-access-request iframe" href="#{new_access_code_request_path}">},
|
23
|
+
:access_request_anchor_end => "</a>") + '<p>'.html_safe
|
24
|
+
end
|
25
|
+
|
19
26
|
raw_block_to_partial('users/signup_form', options.merge(:user => user, :redirect_to => redirect_to), &block)
|
20
27
|
end
|
21
28
|
|
@@ -42,4 +49,17 @@ module MuckUsersHelper
|
|
42
49
|
end
|
43
50
|
end
|
44
51
|
|
52
|
+
# Generates a new random access code. If provided_by is provided then the provided_by user
|
53
|
+
# will be attached to the access code as the providing user.
|
54
|
+
def random_access_code(provided_by)
|
55
|
+
access_code = AccessCode.new(:expires_at => 1.year.since)
|
56
|
+
access_code.provided_by = provided_by
|
57
|
+
access_code.unlimited = false
|
58
|
+
access_code.use_limit = 1
|
59
|
+
access_code.uses = 0
|
60
|
+
access_code.code = AccessCode.random_code
|
61
|
+
access_code.save!
|
62
|
+
access_code
|
63
|
+
end
|
64
|
+
|
45
65
|
end
|
@@ -4,6 +4,12 @@
|
|
4
4
|
<td><%= access_code.use_limit %></td>
|
5
5
|
<td><%= access_code.unlimited %></td>
|
6
6
|
<td><%= access_code.sent_to %></td>
|
7
|
+
<td><%= link_to(access_code.provided_by.display_name, admin_user_path(access_code.provided_by)) if access_code.provided_by %></td>
|
8
|
+
<td>
|
9
|
+
<% access_code.users.each do |user| %>
|
10
|
+
<%= link_to(user.display_name, admin_user_path(user))%>
|
11
|
+
<% end -%>
|
12
|
+
</td>
|
7
13
|
<td><%= format_date(access_code.expires_at) %></td>
|
8
14
|
<td><%= format_date(access_code.created_at) %></td>
|
9
15
|
<td><%= link_to(translate('muck.users.edit'), edit_admin_access_code_path(access_code.id), { :class => 'dialog-pop', :title => translate('muck.users.edit_access_code_title') }) %></td>
|
@@ -7,7 +7,9 @@
|
|
7
7
|
<th><%=translate('muck.users.access_code_uses') %></th>
|
8
8
|
<th><%=translate('muck.users.access_code_use_limit') %></th>
|
9
9
|
<th><%=translate('muck.users.access_code_unlimited') %></th>
|
10
|
-
<th><%=translate('muck.users.access_code_sent_to') %></th>
|
10
|
+
<th><%=translate('muck.users.access_code_sent_to') %></th>
|
11
|
+
<th><%=translate('muck.users.access_code_provided_by') %></th>
|
12
|
+
<th><%=translate('muck.users.access_code_used_by') %></th>
|
11
13
|
<th><%=translate('muck.users.access_code_expires') %></th>
|
12
14
|
<th><%=translate('muck.users.access_code_created') %></th>
|
13
15
|
<th></th>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<tr id="<%=user.dom_id('row')%>" class="<%= cycle('odd','even') %> <%=active_class(user)%>">
|
2
|
-
<td><%= link_to h(user.full_name), user %></td>
|
2
|
+
<td><%= link_to h(user.full_name), admin_user_path(user) %></td>
|
3
3
|
<td><%= mail_to h(user.email), user.email %></td>
|
4
4
|
<td>
|
5
5
|
<ul id="<%=user.dom_id('permissions')%>" class="permissions inline">
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div id="search_box" class="search-box">
|
2
|
-
<%= form_tag search_admin_users_path
|
2
|
+
<%= form_tag search_admin_users_path do -%>
|
3
3
|
<%= text_field_tag :query, '', :class => 'span-5' %>
|
4
4
|
<%= submit_tag t("muck.users.admin.search_users") %>
|
5
5
|
<% end -%>
|
@@ -1,5 +1,8 @@
|
|
1
1
|
<div>
|
2
2
|
<h2><%= t('muck.users.admin_users_title') %></h2>
|
3
|
-
|
3
|
+
<% if !@is_search -%>
|
4
|
+
<%= link_to 'Download Users', admin_users_path(:format => 'csv')%>
|
5
|
+
<%=translate('muck.users.total_users', :total => User.count) %>
|
6
|
+
<% end -%>
|
4
7
|
<%= render :partial => 'admin/users/table' -%>
|
5
8
|
</div>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<h2><%= link_to @user.full_name, @user %></h2>
|
2
|
+
<%= mail_to @user.email, @user.email %>
|
3
|
+
<%= link_to t('muck.users.public_profile'), @user %>
|
4
|
+
<div>
|
5
|
+
<ul id="<%=@user.dom_id('permissions')%>" class="permissions inline">
|
6
|
+
<%= render :partial => 'admin/permissions/permission', :collection => @user.permissions, :locals => { :user => @user } %>
|
7
|
+
</ul>
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<div>
|
11
|
+
<ul class="drop-menu">
|
12
|
+
<li><%= link_to(translate('muck.users.change_permissions'), permissions_admin_user_path(@user), { :title => translate('muck.users.change_permissions_for', :user => @user.full_name), :class => 'dialog-pop', :alt => 'pop' }) %></li>
|
13
|
+
<li><%= render :partial => 'admin/users/activate', :locals => { :user => @user }, :alt => 'pop' %></li>
|
14
|
+
<li><%= link_to(t("muck.users.edit"), edit_admin_user_path(@user.id), { :title =>t('muck.users.edit_this_user'), :class => 'dialog-pop', :alt => 'pop'}) -%></li>
|
15
|
+
<li><%= link_to(t("muck.general.delete"), admin_user_path(@user.id), { :title => t('muck.users.delete_this_user'), :class => 'delete-user ajax-delete' }) -%></li>
|
16
|
+
</ul>
|
17
|
+
</div>
|
@@ -20,12 +20,9 @@
|
|
20
20
|
:access_request_anchor => %Q{<a class="fancy-access-request iframe" href="#{new_access_code_request_path}">},
|
21
21
|
:access_request_anchor_end => "</a>").html_safe %>
|
22
22
|
</p>
|
23
|
-
<% end -%>
|
23
|
+
<% end -%>
|
24
24
|
<%= f.text_field :access_code_code, { :label => translate('muck.users.access_code'),
|
25
|
-
:extra_html =>
|
26
|
-
translate('muck.users.access_code_help',
|
27
|
-
:access_request_anchor => %Q{<a class="fancy-access-request iframe" href="#{new_access_code_request_path}">},
|
28
|
-
:access_request_anchor_end => "</a>") + '<p>'.html_safe } -%>
|
25
|
+
:extra_html => @access_code_help } -%>
|
29
26
|
<% end -%>
|
30
27
|
|
31
28
|
<%= f.text_field :login, { :label => t('muck.users.choose_member_name'),
|
@@ -1,5 +1,7 @@
|
|
1
|
-
<% content_for :
|
1
|
+
<% content_for :javascript do -%>
|
2
2
|
<%= javascript_include_tag 'jquery/jquery.autocomplete.min.js' %>
|
3
3
|
<%= javascript_include_tag 'muck-users' %>
|
4
|
+
<% end -%>
|
5
|
+
<% content_for :head do -%>
|
4
6
|
<%= stylesheet_link_tag 'jquery/jquery.autocomplete.css' %>
|
5
7
|
<% end -%>
|
data/config/locales/en.yml
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
en:
|
3
3
|
muck:
|
4
4
|
users:
|
5
|
+
public_profile: Public Profile
|
5
6
|
add_access_code: Add Access Code
|
6
7
|
cant_delete_admin: You can't delete a user that is in the admin role. Remove the user from the administrator role and then try again. Please be careful when deleting administrators. If you delete all administrator accounts you will no longer be able to login to the administration system.
|
7
8
|
sign_in_now: Sign in now!
|
@@ -24,7 +25,8 @@ en:
|
|
24
25
|
bulk_access_code_message: Message
|
25
26
|
view_your_account: View Your Account
|
26
27
|
password_mismatch: Password mismatch.
|
27
|
-
username_not_available: Username
|
28
|
+
username_not_available: Username already in use. %{reset_password_help}
|
29
|
+
email_not_available: Email already in use. %{reset_password_help}
|
28
30
|
admin:
|
29
31
|
activate_all_inactive_users_confirm: Are you sure you want to activate all inactive users in the system? This cannot be undone!
|
30
32
|
activate_all_inactive_users: Activate All Inactive Users
|
@@ -37,7 +39,6 @@ en:
|
|
37
39
|
confirm_select_new_password: Confirm Password Change
|
38
40
|
email_invalid: Invalid email
|
39
41
|
user_disable_problem: There was a problem disabling this user.
|
40
|
-
email_not_available: Email already in use. %{reset_password_help}
|
41
42
|
total_users: "Total Users: %{total}"
|
42
43
|
add_role_dialog_title: Add Role
|
43
44
|
submit: Submit
|
@@ -91,6 +92,8 @@ en:
|
|
91
92
|
search_users: Search Users
|
92
93
|
access_code_uses: Uses
|
93
94
|
access_code_sent_to: Sent To
|
95
|
+
access_code_provided_by: Provided By
|
96
|
+
access_code_used_by: Used By
|
94
97
|
select_new_password: Select a New Password
|
95
98
|
login: Login
|
96
99
|
access_code_requests_code_sent_on: Code Sent on
|
@@ -10,7 +10,8 @@ module MuckUsers
|
|
10
10
|
validates_uniqueness_of :code
|
11
11
|
|
12
12
|
has_many :users
|
13
|
-
|
13
|
+
belongs_to :provided_by, :class_name => "User"
|
14
|
+
|
14
15
|
scope :by_newest, order('access_codes.created_at DESC')
|
15
16
|
scope :by_alpha, order('access_codes.code ASC')
|
16
17
|
scope :active, where('access_codes.expires_at > Now() AND access_codes.uses <= use_limit')
|
@@ -21,6 +21,7 @@ module MuckUsers
|
|
21
21
|
scope :by_login_alpha, order("users.login ASC")
|
22
22
|
scope :by_login, lambda { |*args| { :conditions => ["users.login LIKE ?", args.first + '%'] } }
|
23
23
|
|
24
|
+
has_many :provided_access_codes, :class_name => "AccessCode", :foreign_key => "provided_by_id"
|
24
25
|
belongs_to :access_code
|
25
26
|
accepts_nested_attributes_for :access_code
|
26
27
|
attr_accessor :access_code_code
|
@@ -33,7 +34,7 @@ module MuckUsers
|
|
33
34
|
before_save :lower_login
|
34
35
|
|
35
36
|
validates_format_of :login, :with => /^[a-z0-9-]+$/i, :message => 'may only contain letters, numbers or a hyphen.'
|
36
|
-
validates_format_of :email, :with => email_regex, :message => 'does not look like a valid email address.'
|
37
|
+
#validates_format_of :email, :with => email_regex, :message => 'does not look like a valid email address.'
|
37
38
|
|
38
39
|
# prevents a user from submitting a crafted form that bypasses activation
|
39
40
|
attr_protected :crypted_password, :password_salt, :persistence_token, :single_access_token, :perishable_token, :login_count,
|
data/muck-users.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{muck-users}
|
8
|
-
s.version = "3.2.
|
8
|
+
s.version = "3.2.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Justin Ball", "Joel Duffin"]
|
12
|
-
s.date = %q{2011-04-
|
12
|
+
s.date = %q{2011-04-20}
|
13
13
|
s.description = %q{Easily add user signup, login and other features to your application}
|
14
14
|
s.email = %q{justin@tatemae.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -79,6 +79,7 @@ Gem::Specification.new do |s|
|
|
79
79
|
"app/views/admin/users/row.js.erb",
|
80
80
|
"app/views/admin/users/search.html.erb",
|
81
81
|
"app/views/admin/users/search.js.erb",
|
82
|
+
"app/views/admin/users/show.html.erb",
|
82
83
|
"app/views/password_resets/edit.html.erb",
|
83
84
|
"app/views/password_resets/new.html.erb",
|
84
85
|
"app/views/user_mailer/access_code.ar.html.erb",
|
@@ -408,11 +409,10 @@ Gem::Specification.new do |s|
|
|
408
409
|
"app/views/user_sessions/_form.erb",
|
409
410
|
"app/views/user_sessions/new.html.erb",
|
410
411
|
"app/views/username_request/new.html.erb",
|
411
|
-
"app/views/users/
|
412
|
+
"app/views/users/_availability.html.erb",
|
412
413
|
"app/views/users/_recover_password_via_email_link.html.erb",
|
413
414
|
"app/views/users/_signup_form.html.erb",
|
414
415
|
"app/views/users/_signup_form_javascript.html.erb",
|
415
|
-
"app/views/users/_unavailable.html.erb",
|
416
416
|
"app/views/users/_user.html.erb",
|
417
417
|
"app/views/users/activation_confirmation.html.erb",
|
418
418
|
"app/views/users/activation_instructions.html.erb",
|
@@ -472,6 +472,7 @@ Gem::Specification.new do |s|
|
|
472
472
|
"db/migrate/20100123233654_create_access_code_requests.rb",
|
473
473
|
"db/migrate/20101117172951_add_name_to_access_code_requests.rb",
|
474
474
|
"db/migrate/20110303183433_add_sent_to_to_access_codes.rb",
|
475
|
+
"db/migrate/20110420153714_add_provided_by_to_access_codes.rb",
|
475
476
|
"lib/muck-users.rb",
|
476
477
|
"lib/muck-users/config.rb",
|
477
478
|
"lib/muck-users/controllers/authentic_application.rb",
|
@@ -1,16 +1,12 @@
|
|
1
1
|
jQuery(document).ready(function() {
|
2
2
|
jQuery("#user_login").blur(function(){
|
3
|
-
jQuery.post("/users/is_login_available",{ user_login:jQuery(this).val(), format:'js' },function(data){
|
4
|
-
jQuery("#username-availibility").html(data);
|
5
|
-
});
|
3
|
+
jQuery.post("/users/is_login_available",{ user_login:jQuery(this).val(), format:'js' },function(data){});
|
6
4
|
});
|
7
5
|
jQuery("#user_login").keydown(function() {
|
8
6
|
jQuery("#username-availibility").html('');
|
9
7
|
});
|
10
8
|
jQuery("#user_email").blur(function(){
|
11
|
-
jQuery.post("/users/is_email_available",{ user_email:jQuery(this).val(), format:'js' },function(data){
|
12
|
-
jQuery("#email-availibility").html(data);
|
13
|
-
});
|
9
|
+
jQuery.post("/users/is_email_available",{ user_email:jQuery(this).val(), format:'js' },function(data){});
|
14
10
|
});
|
15
11
|
jQuery("#user_email").keydown(function() {
|
16
12
|
jQuery("#email-availibility").html('');
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: muck-users
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 13
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 3.2.
|
9
|
+
- 1
|
10
|
+
version: 3.2.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Justin Ball
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-04-
|
19
|
+
date: 2011-04-20 00:00:00 -06:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -147,6 +147,7 @@ files:
|
|
147
147
|
- app/views/admin/users/row.js.erb
|
148
148
|
- app/views/admin/users/search.html.erb
|
149
149
|
- app/views/admin/users/search.js.erb
|
150
|
+
- app/views/admin/users/show.html.erb
|
150
151
|
- app/views/password_resets/edit.html.erb
|
151
152
|
- app/views/password_resets/new.html.erb
|
152
153
|
- app/views/user_mailer/access_code.ar.html.erb
|
@@ -476,11 +477,10 @@ files:
|
|
476
477
|
- app/views/user_sessions/_form.erb
|
477
478
|
- app/views/user_sessions/new.html.erb
|
478
479
|
- app/views/username_request/new.html.erb
|
479
|
-
- app/views/users/
|
480
|
+
- app/views/users/_availability.html.erb
|
480
481
|
- app/views/users/_recover_password_via_email_link.html.erb
|
481
482
|
- app/views/users/_signup_form.html.erb
|
482
483
|
- app/views/users/_signup_form_javascript.html.erb
|
483
|
-
- app/views/users/_unavailable.html.erb
|
484
484
|
- app/views/users/_user.html.erb
|
485
485
|
- app/views/users/activation_confirmation.html.erb
|
486
486
|
- app/views/users/activation_instructions.html.erb
|
@@ -540,6 +540,7 @@ files:
|
|
540
540
|
- db/migrate/20100123233654_create_access_code_requests.rb
|
541
541
|
- db/migrate/20101117172951_add_name_to_access_code_requests.rb
|
542
542
|
- db/migrate/20110303183433_add_sent_to_to_access_codes.rb
|
543
|
+
- db/migrate/20110420153714_add_provided_by_to_access_codes.rb
|
543
544
|
- lib/muck-users.rb
|
544
545
|
- lib/muck-users/config.rb
|
545
546
|
- lib/muck-users/controllers/authentic_application.rb
|
@@ -1 +0,0 @@
|
|
1
|
-
<span class="available"><%= message %></span>
|
@@ -1 +0,0 @@
|
|
1
|
-
<span class="unavailable"><%= message %></span>
|