muck-users 3.1.7 → 3.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.1.7
1
+ 3.1.8
@@ -0,0 +1,59 @@
1
+ class Admin::Muck::AccessCodeRequestsController < Admin::Muck::BaseController
2
+
3
+ def index
4
+ @unfullfilled_requests = AccessCodeRequest.unfullfilled.by_newest.paginate(:page => @page, :per_page => @per_page)
5
+ render :template => 'admin/access_code_requests/index'
6
+ end
7
+
8
+ def edit
9
+ @access_code_request = AccessCodeRequest.find(params[:id])
10
+ render :template => "admin/access_code_requests/edit", :layout => false
11
+ end
12
+
13
+ def send_code
14
+ @access_code_request = AccessCodeRequest.find(params[:id])
15
+ render :template => "admin/access_code_requests/send_code", :layout => false
16
+ end
17
+
18
+ def update
19
+ debugger
20
+ @access_code_request = AccessCodeRequest.find(params[:id])
21
+ if params[:send_access_code]
22
+ @success = @access_code_request.send_access_code(params[:subject], params[:message])
23
+ else
24
+ @success = @access_code_request.update_attributes(params[:access_code_request])
25
+ end
26
+
27
+ if @success
28
+ ajax_update_access_code_request
29
+ else
30
+ output_admin_messages(@access_code_request)
31
+ end
32
+
33
+ rescue => ex
34
+ flash[:error] = ex
35
+ output_admin_messages
36
+ end
37
+
38
+ def destroy
39
+ @access_code_request = AccessCodeRequest.find(params[:id])
40
+ @success = @access_code_request.destroy
41
+ respond_to do |format|
42
+ format.html { redirect_to admin_access_code_requests_path }
43
+ format.js do
44
+ if @success
45
+ render :template => 'admin/access_code_requests/destroy', :layout => false
46
+ else
47
+ output_admin_messages
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+ protected
54
+
55
+ def ajax_update_access_code_request
56
+ render :template => 'admin/access_code_requests/ajax_update_access_code_request'
57
+ end
58
+
59
+ end
@@ -0,0 +1,14 @@
1
+ <tr id="<%=access_code_request.dom_id('row')%>">
2
+ <td><%= access_code_request.name %></td>
3
+ <td><%= access_code_request.email %></td>
4
+ <td><%= format_date(access_code_request.created_at) %></td>
5
+ <td>
6
+ <% if access_code_request.code_sent_at -%>
7
+ <%= format_date(access_code_request.code_sent_at) %>
8
+ <% else -%>
9
+ <%= link_to(translate('muck.users.send_code'), send_code_admin_access_code_request_path(access_code_request.id), { :class => 'dialog-pop', :title => translate('muck.users.send_access_code_request_title') }) %>
10
+ <% end -%>
11
+ </td>
12
+ <td><%= link_to(translate('muck.users.edit'), edit_admin_access_code_request_path(access_code_request.id), { :class => 'dialog-pop', :title => translate('muck.users.edit_access_code_request_title') }) %></td>
13
+ <td><%= link_to(translate('muck.users.delete'), admin_access_code_request_path(access_code_request.id), :class => 'ajax-delete', :title => translate('muck.users.access_code_request_delete_confirm')) %></td>
14
+ </tr>
@@ -0,0 +1,2 @@
1
+ <%= f.text_field :email, { :label => translate('muck.users.access_code_requests_name') } -%>
2
+ <%= f.text_field :name, { :label => translate('muck.users.access_code_requests_email') } -%>
@@ -0,0 +1,2 @@
1
+ jQuery('#<%=@access_code_request.dom_id('row')%>').replaceWith('<%=escape_javascript(render(:partial => 'admin/access_code_requests/access_code_request', :locals => { :access_code_request => @access_code_request } ))%>');
2
+ jQuery('.dialog').dialog('close');
@@ -0,0 +1,2 @@
1
+ jQuery('#<%=@access_code_request.dom_id('row')%>').fadeOut();
2
+ <%= hide_admin_messages %>
@@ -0,0 +1,6 @@
1
+ <h3><%=translate('muck.users.edit_access_code_request') %></h3>
2
+ <%= output_errors(translate('muck.users.access_code_request_edit_problem'), {:class => 'help-box'}, @access_code_request) %>
3
+ <%= muck_form_for @access_code_request, :url => admin_access_code_request_path(@access_code_request), :html => { :method => :put, :class => 'ajax' } do |f| -%>
4
+ <%= render :partial => 'admin/access_code_requests/form', :locals => { :f => f } %>
5
+ <%= f.submit translate('muck.users.save') %>
6
+ <% end -%>
@@ -0,0 +1,17 @@
1
+ <h2><%=translate('muck.users.unfullfilled_access_code_requests') %></h2>
2
+ <table class="adminTable" cellspacing="0" cellpadding="0">
3
+ <thead>
4
+ <tr>
5
+ <th><%=translate('muck.users.access_code_requests_name') %></th>
6
+ <th><%=translate('muck.users.access_code_requests_email') %></th>
7
+ <th><%=translate('muck.users.access_code_requests_signed_up_on') %></th>
8
+ <th><%=translate('muck.users.access_code_requests_code_sent_on') %></th>
9
+ <th></th>
10
+ <th></th>
11
+ </tr>
12
+ </thead>
13
+ <tbody id="current-access-code-requests">
14
+ <%= render :partial => 'admin/access_code_requests/access_code_request', :collection => @unfullfilled_requests %>
15
+ </tbody>
16
+ </table>
17
+ <%= will_paginate @unfullfilled_requests %>
@@ -0,0 +1,19 @@
1
+ <div id="send-access-code-single">
2
+ <h3><%=translate('muck.users.send_access_code_request_title') %></h3>
3
+ <%= output_errors(translate('muck.users.access_code_request_send_problem'), {:class => 'help-box'}, @access_code_request) %>
4
+ <%= muck_form_for @access_code_request, :url => admin_access_code_request_path(@access_code_request), :html => { :method => :put, :class => 'ajax' } do |f| -%>
5
+ <p><%=translate('muck.users.send_access_code_instructions') %></p>
6
+ <div class="form-row">
7
+ <label><%= translate('muck.users.access_code_subject')%></label>
8
+ <%= text_field_tag :subject -%>
9
+ </div>
10
+ <div class="form-row">
11
+ <label><%= translate('muck.users.access_code_message')%></label>
12
+ <%= text_area_tag :message -%>
13
+ </div>
14
+ <div class="form-row">
15
+ <%= f.submit translate('muck.users.send_access_code') %>
16
+ </div>
17
+ <%= hidden_field :send_access_code, true %>
18
+ <% end -%>
19
+ </div>
@@ -6,6 +6,7 @@ en:
6
6
  old_password_incorrect: Your old password is incorrect.
7
7
  bulk_access_code_emails_tip: Separate emails with a comma
8
8
  join_application_name: Join and get it done
9
+ access_code_request_delete_confirm: Are you sure you want to cancel this access code request?
9
10
  email_help: Please use a valid, current e-mail address. We will never share or spam your e-mail address.
10
11
  logout_required: ""
11
12
  access_code_fullfill_invites_limit_tip: Enter a number to limit the number of requests sent out. For example, entering 100 will limit the invites to the most recent 100 requests
@@ -52,6 +53,7 @@ en:
52
53
  access_request_name: Name
53
54
  thanks_sign_up_login: Thanks for signing up! You may login now
54
55
  already_activated: Your account has already been activated. You can log in below.
56
+ access_code_requests_signed_up_on: Signed up on
55
57
  access_request_email: Email
56
58
  password: Password
57
59
  account_not_activated: Your %{application_name} account has not yet been activated.
@@ -59,6 +61,7 @@ en:
59
61
  update_user_admin: Update User
60
62
  problem_changing_password: There was a problem changing your password. %{errors}
61
63
  access_code_delete_problem: Cannot delete access code it has users associated with it.
64
+ access_code_requests_email: Email
62
65
  user_enable_problem: There was a problem enabling this user.
63
66
  access_code_tip: Enter a access code.
64
67
  email_empty: Please enter an email address
@@ -75,6 +78,7 @@ en:
75
78
  validation_is_required: is required.
76
79
  user_disabled: User disabled
77
80
  invalid_username: Invalid username
81
+ access_code_requests_code_sent_on: Code Sent on
78
82
  update: Update
79
83
  could_not_find_user_with_email: Could not find a user with that email address.
80
84
  password_reset_email_subject: You have requested to change your %{application_name} password
@@ -94,6 +98,7 @@ en:
94
98
  my_dashboard: My Dashboard
95
99
  confirm_select_new_password: Confirm Password Change
96
100
  use_limit: Number of Uses
101
+ access_code_subject: Subject
97
102
  add_role: Add Role
98
103
  admin_users_title: User Administration
99
104
  edit_access_code: Edit Access Code
@@ -107,19 +112,20 @@ en:
107
112
  delete_this_user: Delete this user.
108
113
  username_help: You can use between 6 and 20 characters. If the name you want isn't available try adding numbers or punctuation.
109
114
  edit_role_dialog_title: Edit Role
110
- request_access_code_instruction: Please provide the following information and we'll provide you with an access code as soon as possible.
115
+ change_permissions: Change Roles
116
+ send_access_code_request_title: Send Code
117
+ access_code_created: Created
111
118
  username_not_available: Username not available
112
119
  remove_my_account: Remove My Account
113
120
  email_available: Email available
114
- user_enabled: User enabled
115
121
  thanks_sign_up_check: Your account has been created. Please check your e-mail for your account activation instructions!
122
+ user_enabled: User enabled
123
+ request_access_code_instruction: Please provide the following information and we'll provide you with an access code as soon as possible.
116
124
  delete_my_account: Delete my user account and all my data.
117
- edit: Edit
118
125
  activation_instructions: Activation Instructions
119
- access_code_created: Created
120
- access_code_added: Access Code was successfully added
121
- change_permissions: Change Roles
126
+ edit: Edit
122
127
  what_is_the_email: What is the email address used to create your account?
128
+ access_code_added: Access Code was successfully added
123
129
  password_reset: Password reset.
124
130
  register_account: Register for a %{application_name} account
125
131
  welcome_message: Welcome to muck. This system provides the basic components to help you build your website.
@@ -149,6 +155,8 @@ en:
149
155
  search_users: Search Users
150
156
  user_marked_inactive: User has been marked as inactive
151
157
  access_code_request_thank_you: Thank you for your request. We'll be in touch as soon as possible.
158
+ send_access_code_instructions: Provide a message and body that will be sent in the email along with the code that will let the user create an account.
159
+ access_code_requests_name: Name
152
160
  access_code_fullfill_invites_limit: Invite Request Limit
153
161
  bulk_access_code_tip: Optional. If a code is specified then that code will be sent to all users. Leave this field empty to send a unique code to each user.
154
162
  role: Role
@@ -168,8 +176,10 @@ en:
168
176
  bulk_access_code_problem: Problem adding access code
169
177
  submit: Submit
170
178
  confirm_password: Confirm Password
179
+ edit_access_code_request_title: Edit Request
171
180
  add_user_to_role_title: Add user to a new role.
172
181
  expiration_date: Expiration Date
182
+ edit_access_code_request: Edit Access Code Request
173
183
  role_not_deleted: Role could not be deleted
174
184
  roles: Roles
175
185
  access_code_related_users: Users who signed up with this code
@@ -183,22 +193,28 @@ en:
183
193
  password_help: Your password should be at least six characters long. A Mix of upper and lower-case letters and numbers works well
184
194
  login_fail: We're sorry, but we couldn't recognize your login information. Please try again.
185
195
  email_not_available: Email already in use. %{reset_password_help}
196
+ access_code_request_send_problem: There was a problem sending the code
197
+ access_code_request_edit_problem: Problem editing access code request
186
198
  access_code_add_problem: Problem adding access code
187
199
  sign_up: Sign up
188
200
  change_your_password: Change Your Password
189
201
  forgot_your_password: Forgot your password?
202
+ send_code: Send Code
190
203
  role_delete_confirm: Are you sure you want to delete this role? All associated permissions will also be deleted!
191
204
  unlimited: Unlimited Uses
192
205
  remember_me: Remember me
193
206
  reset_your_password: Reset Your Password
207
+ access_code_message: Message
194
208
  access_code_use_limit: Use Limit
195
209
  access_code_help: If you received a access code from us, please enter it in the box above. You may also %{access_request_anchor}request a access code%{access_request_anchor_end}.
196
210
  email_address: Email Address
211
+ send_access_code: Send Code
197
212
  cant_delete_administrator_role: You can't delete the administrator role.
198
213
  view_your_account: View Your Account
199
214
  request_username_subject: Forgotten username
200
215
  could_not_find_reset_code: Could not find a password reset code. Please try resetting your password again.
201
216
  register_for_account: Register for an account
217
+ unfullfilled_access_code_requests: Unfulfilled Access Code Requests
202
218
  access_code_request_count: There are currently %{access_code_requests_count} access code requests
203
219
  bulk_access_code_message: Message
204
220
  bulk_access_codes: Bulk Access Codes
data/config/routes.rb CHANGED
@@ -59,6 +59,11 @@ Rails.application.routes.draw do
59
59
  end
60
60
  end
61
61
  resources :roles, :controller => 'muck/roles'
62
+ resources :access_code_requests, :controller => 'muck/access_code_requests' do
63
+ member do
64
+ get :send_code
65
+ end
66
+ end
62
67
  resources :access_codes, :controller => 'muck/access_codes' do
63
68
  collection do
64
69
  get :bulk
@@ -22,6 +22,7 @@ module MuckUsers
22
22
  MuckEngine.configuration.add_muck_admin_nav_item(I18n.translate('muck.engine.admin_users'), '/admin/users')
23
23
  MuckEngine.configuration.add_muck_admin_nav_item(I18n.translate('muck.engine.admin_roles'), '/admin/roles')
24
24
  MuckEngine.configuration.add_muck_admin_nav_item(I18n.translate('muck.engine.admin_access_codes'), '/admin/access_codes')
25
+ MuckEngine.configuration.add_muck_admin_nav_item(I18n.translate('muck.engine.admin_access_code_requests'), '/admin/access_code_requests')
25
26
  end
26
27
 
27
28
  initializer 'muck-users.controllers' do
@@ -31,6 +31,15 @@ module MuckUsers
31
31
 
32
32
  end
33
33
 
34
+ def send_access_code(subject, message)
35
+ access_code = AccessCode.create!(:unlimited => false,
36
+ :use_limit => 1,
37
+ :uses => 0,
38
+ :code => AccessCode.random_code)
39
+ UserMailer.access_code(self.email, subject, message, access_code.code).deliver
40
+ success = AccessCodeRequest.mark_fullfilled(self)
41
+ end
42
+
34
43
  end
35
44
  end
36
45
  end
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.1.7"
8
+ s.version = "3.1.8"
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-02-22}
12
+ s.date = %q{2011-02-24}
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 = [
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
20
20
  "README.rdoc",
21
21
  "Rakefile",
22
22
  "VERSION",
23
+ "app/controllers/admin/muck/access_code_requests_controller.rb",
23
24
  "app/controllers/admin/muck/access_codes_controller.rb",
24
25
  "app/controllers/admin/muck/roles_controller.rb",
25
26
  "app/controllers/admin/muck/users_controller.rb",
@@ -35,6 +36,13 @@ Gem::Specification.new do |s|
35
36
  "app/views/access_code_requests/create.js.erb",
36
37
  "app/views/access_code_requests/new.html.erb",
37
38
  "app/views/access_code_requests/show.html.erb",
39
+ "app/views/admin/access_code_requests/_access_code_request.html.erb",
40
+ "app/views/admin/access_code_requests/_form.html.erb",
41
+ "app/views/admin/access_code_requests/ajax_update_access_code_request.js.erb",
42
+ "app/views/admin/access_code_requests/destroy.js.erb",
43
+ "app/views/admin/access_code_requests/edit.html.erb",
44
+ "app/views/admin/access_code_requests/index.html.erb",
45
+ "app/views/admin/access_code_requests/send_code.html.erb",
38
46
  "app/views/admin/access_codes/_access_code.html.erb",
39
47
  "app/views/admin/access_codes/_form.html.erb",
40
48
  "app/views/admin/access_codes/_user.html.erb",
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: 13
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 3
8
8
  - 1
9
- - 7
10
- version: 3.1.7
9
+ - 8
10
+ version: 3.1.8
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-02-22 00:00:00 -07:00
19
+ date: 2011-02-24 00:00:00 -07:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -90,6 +90,7 @@ files:
90
90
  - README.rdoc
91
91
  - Rakefile
92
92
  - VERSION
93
+ - app/controllers/admin/muck/access_code_requests_controller.rb
93
94
  - app/controllers/admin/muck/access_codes_controller.rb
94
95
  - app/controllers/admin/muck/roles_controller.rb
95
96
  - app/controllers/admin/muck/users_controller.rb
@@ -105,6 +106,13 @@ files:
105
106
  - app/views/access_code_requests/create.js.erb
106
107
  - app/views/access_code_requests/new.html.erb
107
108
  - app/views/access_code_requests/show.html.erb
109
+ - app/views/admin/access_code_requests/_access_code_request.html.erb
110
+ - app/views/admin/access_code_requests/_form.html.erb
111
+ - app/views/admin/access_code_requests/ajax_update_access_code_request.js.erb
112
+ - app/views/admin/access_code_requests/destroy.js.erb
113
+ - app/views/admin/access_code_requests/edit.html.erb
114
+ - app/views/admin/access_code_requests/index.html.erb
115
+ - app/views/admin/access_code_requests/send_code.html.erb
108
116
  - app/views/admin/access_codes/_access_code.html.erb
109
117
  - app/views/admin/access_codes/_form.html.erb
110
118
  - app/views/admin/access_codes/_user.html.erb