muck-users 3.1.7 → 3.1.8

Sign up to get free protection for your applications and to get access to all the features.
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