authentication-zero 0.0.9 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +6 -2
  4. data/lib/authentication_zero/version.rb +1 -1
  5. data/lib/generators/authentication/authentication_generator.rb +9 -11
  6. data/lib/generators/authentication/templates/controllers/api/cancellations_controller.rb.tt +1 -1
  7. data/lib/generators/authentication/templates/controllers/api/emails_controller.rb.tt +25 -0
  8. data/lib/generators/authentication/templates/controllers/api/password_resets_controller.rb.tt +7 -6
  9. data/lib/generators/authentication/templates/controllers/api/passwords_controller.rb.tt +4 -3
  10. data/lib/generators/authentication/templates/controllers/api/registrations_controller.rb.tt +1 -1
  11. data/lib/generators/authentication/templates/controllers/html/cancellations_controller.rb.tt +1 -1
  12. data/lib/generators/authentication/templates/controllers/html/emails_controller.rb.tt +28 -0
  13. data/lib/generators/authentication/templates/controllers/html/password_resets_controller.rb.tt +7 -6
  14. data/lib/generators/authentication/templates/controllers/html/passwords_controller.rb.tt +4 -4
  15. data/lib/generators/authentication/templates/mailers/email_mailer.rb.tt +6 -0
  16. data/lib/generators/authentication/templates/mailers/password_mailer.rb.tt +5 -1
  17. data/lib/generators/authentication/templates/views/cancellations/new.html.erb.tt +2 -2
  18. data/lib/generators/authentication/templates/views/email_mailer/changed.html.erb.tt +11 -0
  19. data/lib/generators/authentication/templates/views/email_mailer/changed.text.erb.tt +9 -0
  20. data/lib/generators/authentication/templates/views/emails/edit.html.erb.tt +37 -0
  21. data/lib/generators/authentication/templates/views/password_mailer/changed.html.erb.tt +7 -0
  22. data/lib/generators/authentication/templates/views/password_mailer/changed.text.erb.tt +5 -0
  23. data/lib/generators/authentication/templates/views/password_mailer/reset.html.erb.tt +8 -5
  24. data/lib/generators/authentication/templates/views/password_mailer/reset.text.erb.tt +6 -5
  25. data/lib/generators/authentication/templates/views/password_resets/edit.html.erb.tt +7 -11
  26. data/lib/generators/authentication/templates/views/password_resets/new.html.erb.tt +1 -8
  27. data/lib/generators/authentication/templates/views/passwords/edit.html.erb.tt +4 -3
  28. data/lib/generators/authentication/templates/views/registrations/new.html.erb.tt +2 -7
  29. data/lib/generators/authentication/templates/views/sessions/new.html.erb.tt +1 -1
  30. metadata +10 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 11deb23576e389ac26590fa1028b8da52e874a1eb8be2578961816b2745a8b14
4
- data.tar.gz: debebbdfe6829936c06b5ff8f2f2ba13f1d623b944ac65ff7a581070fd78d2ab
3
+ metadata.gz: 9e853cd032072f4c6dc76b99cdff704b392eac57abea2893957b03f93c7069bd
4
+ data.tar.gz: 49428b1a84e2cd03beba0f9f5a39623f06c33ae20072a691130885391b09d615
5
5
  SHA512:
6
- metadata.gz: cb417c4b4e83690f092c28d3573718217fe3ab25ac605c1dbb0ee494289921c0d71dae1d1cf92b9a702339d5b108b702ed64ae7177aee49eb53fe24314da3e1a
7
- data.tar.gz: 6869e7c3eb2775fbfcc90a75e97eb9bd6e30244452ef065e6da688a22d307d1f2f3c305b93b1ba4f157263b4d7a65ecb22e2c1f30e064ec9034e5a53788760ed
6
+ metadata.gz: aa5510a1671afde349053941f76876b888b481fbae4839dd7724b38163c3ca37c8a68ad73f2eb1de277f80bfbc3ad9d4e21f5d07613a24f09bc78d9e7b051bec
7
+ data.tar.gz: 1578a6bc1502f0d1f0f25b6b993f4f1be297f367532ce604f1da5926de5bd9fb38bbcc36705b98c2a8fd3cca933bd2649b81cdc9007fbf4dfcb63065758835a0
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- authentication-zero (0.0.9)
4
+ authentication-zero (0.0.13)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -31,11 +31,15 @@ Add these lines to your `app/views/home/index.html.erb`:
31
31
  <p>Signed as <%= Current.user.email %></p>
32
32
 
33
33
  <div>
34
- <%= link_to "Change password", password_edit_path %>
34
+ <%= link_to "Change email", edit_emails_path %>
35
35
  </div>
36
36
 
37
37
  <div>
38
- <%= link_to "Cancel my account & delete my data", cancellation_new_path %>
38
+ <%= link_to "Change password", edit_passwords_path %>
39
+ </div>
40
+
41
+ <div>
42
+ <%= link_to "Cancel my account & delete my data", new_cancellations_path %>
39
43
  </div>
40
44
 
41
45
  <%= button_to "Log out", sign_out_path, method: :delete %>
@@ -1,3 +1,3 @@
1
1
  module AuthenticationZero
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.13"
3
3
  end
@@ -16,11 +16,13 @@ class AuthenticationGenerator < Rails::Generators::NamedBase
16
16
  end
17
17
 
18
18
  def create_mailers
19
+ template "mailers/email_mailer.rb", "app/mailers/email_mailer.rb"
19
20
  template "mailers/password_mailer.rb", "app/mailers/password_mailer.rb"
20
21
  end
21
22
 
22
23
  def create_views
23
24
  if options.api
25
+ directory "views/email_mailer", "app/views/email_mailer"
24
26
  directory "views/password_mailer", "app/views/password_mailer"
25
27
  else
26
28
  directory "views", "app/views"
@@ -37,19 +39,15 @@ class AuthenticationGenerator < Rails::Generators::NamedBase
37
39
  end
38
40
 
39
41
  def add_routes
40
- route "get 'sign_up', to: 'registrations#new'" unless options.api?
42
+ route "resource :password_resets, only: [:new, :edit, :create, :update]"
43
+ route "resource :cancellations, only: [:new, :create]"
44
+ route "resource :passwords, only: [:edit, :update]"
45
+ route "resource :emails, only: [:edit, :update]"
46
+ route "delete 'sign_out', to: 'sessions#destroy'"
41
47
  route "post 'sign_up', to: 'registrations#create'"
42
- route "get 'sign_in', to: 'sessions#new'" unless options.api?
48
+ route "get 'sign_up', to: 'registrations#new'" unless options.api?
43
49
  route "post 'sign_in', to: 'sessions#create'"
44
- route "get 'password/edit', to: 'passwords#edit'" unless options.api?
45
- route "patch 'password', to: 'passwords#update'"
46
- route "get 'cancellation/new', to: 'cancellations#new'" unless options.api?
47
- route "post 'cancellation', to: 'cancellations#destroy'"
48
- route "get 'password_reset/new', to: 'password_resets#new'" unless options.api?
49
- route "post 'password_reset', to: 'password_resets#create'"
50
- route "get 'password_reset/edit', to: 'password_resets#edit'"
51
- route "patch 'password_reset', to: 'password_resets#update'"
52
- route "delete 'sign_out', to: 'sessions#destroy'"
50
+ route "get 'sign_in', to: 'sessions#new'" unless options.api?
53
51
  end
54
52
 
55
53
  def add_application_controller_methods
@@ -1,5 +1,5 @@
1
1
  class CancellationsController < ApplicationController
2
- def destroy
2
+ def create
3
3
  Current.<%= singular_table_name %>.destroy
4
4
  end
5
5
  end
@@ -0,0 +1,25 @@
1
+ class EmailsController < ApplicationController
2
+ before_action :set_<%= singular_table_name %>
3
+
4
+ def update
5
+ if !@<%= singular_table_name %>.authenticate(params[:current_password])
6
+ render json: { error: "The current password you entered is incorrect" }, status: :bad_request
7
+ elsif @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
8
+ if @<%= singular_table_name %>.email_previously_changed?
9
+ EmailMailer.with(email_change: @<%= singular_table_name %>.email_previous_change).changed.deliver_later
10
+ end
11
+ render json: @<%= singular_table_name %>
12
+ else
13
+ render json: @<%= singular_table_name %>.errors, status: :unprocessable_entity
14
+ end
15
+ end
16
+
17
+ private
18
+ def set_<%= singular_table_name %>
19
+ @<%= singular_table_name %> = Current.<%= singular_table_name %>
20
+ end
21
+
22
+ def <%= "#{singular_table_name}_params" %>
23
+ params.permit(:email)
24
+ end
25
+ end
@@ -1,9 +1,10 @@
1
1
  class PasswordResetsController < ApplicationController
2
- before_action :set_<%= singular_table_name %>, only: %i[ edit update ]
3
2
  skip_before_action :authenticate
4
3
 
4
+ before_action :set_<%= singular_table_name %>, only: %i[ edit update ]
5
+
5
6
  def edit
6
- render json: { message: "Open this link in your device" }, status: :not_found
7
+ render json: { error: "Open this link in your device" }, status: :not_found
7
8
  end
8
9
 
9
10
  def create
@@ -15,7 +16,7 @@ class PasswordResetsController < ApplicationController
15
16
  end
16
17
 
17
18
  def update
18
- if @<%= singular_table_name %>.update(password_params)
19
+ if @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
19
20
  render json: @<%= singular_table_name %>
20
21
  else
21
22
  render json: @<%= singular_table_name %>.errors, status: :unprocessable_entity
@@ -24,12 +25,12 @@ class PasswordResetsController < ApplicationController
24
25
 
25
26
  private
26
27
  def set_<%= singular_table_name %>
27
- @<%= singular_table_name %> = <%= class_name %>.find_signed!(params[:token], purpose: "password_reset")
28
+ @<%= singular_table_name %> = <%= class_name %>.find_signed!(params[:sid], purpose: "password_reset")
28
29
  rescue ActiveSupport::MessageVerifier::InvalidSignature
29
30
  render json: { error: "Your token has expired, please request a new one" }, status: :bad_request
30
31
  end
31
32
 
32
- def password_params
33
- params.require(:<%= singular_table_name %>).permit(:password, :password_confirmation)
33
+ def <%= "#{singular_table_name}_params" %>
34
+ params.permit(:password, :password_confirmation)
34
35
  end
35
36
  end
@@ -4,7 +4,8 @@ class PasswordsController < ApplicationController
4
4
  def update
5
5
  if !@<%= singular_table_name %>.authenticate(params[:current_password])
6
6
  render json: { error: "The current password you entered is incorrect" }, status: :bad_request
7
- elsif @<%= singular_table_name %>.update(password_params)
7
+ elsif @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
8
+ PasswordMailer.with(user: @<%= singular_table_name %>).changed.deliver_later
8
9
  render json: @<%= singular_table_name %>
9
10
  else
10
11
  render json: @<%= singular_table_name %>.errors, status: :unprocessable_entity
@@ -16,7 +17,7 @@ class PasswordsController < ApplicationController
16
17
  @<%= singular_table_name %> = Current.<%= singular_table_name %>
17
18
  end
18
19
 
19
- def password_params
20
- params.require(:<%= singular_table_name %>).permit(:password, :password_confirmation)
20
+ def <%= "#{singular_table_name}_params" %>
21
+ params.permit(:password, :password_confirmation)
21
22
  end
22
23
  end
@@ -13,6 +13,6 @@ class RegistrationsController < ApplicationController
13
13
 
14
14
  private
15
15
  def <%= "#{singular_table_name}_params" %>
16
- params.require(:<%= singular_table_name %>).permit(:email, :password, :password_confirmation)
16
+ params.permit(:email, :password, :password_confirmation)
17
17
  end
18
18
  end
@@ -2,7 +2,7 @@ class CancellationsController < ApplicationController
2
2
  def new
3
3
  end
4
4
 
5
- def destroy
5
+ def create
6
6
  Current.<%= singular_table_name %>.destroy
7
7
  redirect_to sign_in_path, notice: "Bye! Your account has been successfully cancelled"
8
8
  end
@@ -0,0 +1,28 @@
1
+ class EmailsController < ApplicationController
2
+ before_action :set_<%= singular_table_name %>
3
+
4
+ def edit
5
+ end
6
+
7
+ def update
8
+ if !@<%= singular_table_name %>.authenticate(params[:current_password])
9
+ redirect_to edit_emails_path, alert: "The current password you entered is incorrect"
10
+ elsif @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
11
+ if @<%= singular_table_name %>.email_previously_changed?
12
+ EmailMailer.with(email_change: @<%= singular_table_name %>.email_previous_change).changed.deliver_later
13
+ end
14
+ redirect_to root_path, notice: "Your email has been changed successfully"
15
+ else
16
+ render :edit, status: :unprocessable_entity
17
+ end
18
+ end
19
+
20
+ private
21
+ def set_<%= singular_table_name %>
22
+ @<%= singular_table_name %> = Current.<%= singular_table_name %>
23
+ end
24
+
25
+ def <%= "#{singular_table_name}_params" %>
26
+ params.require(:<%= singular_table_name %>).permit(:email)
27
+ end
28
+ end
@@ -1,7 +1,8 @@
1
1
  class PasswordResetsController < ApplicationController
2
- before_action :set_<%= singular_table_name %>, only: %i[ edit update ]
3
2
  skip_before_action :authenticate
4
3
 
4
+ before_action :set_<%= singular_table_name %>, only: %i[ edit update ]
5
+
5
6
  def new
6
7
  end
7
8
 
@@ -13,12 +14,12 @@ class PasswordResetsController < ApplicationController
13
14
  PasswordMailer.with(<%= singular_table_name %>: @<%= singular_table_name %>).reset.deliver_later
14
15
  redirect_to sign_in_path, notice: "You will receive an email with instructions on how to reset your password in a few minutes"
15
16
  else
16
- redirect_to password_reset_new_path, alert: "The email address doesn't exist in our database"
17
+ redirect_to new_password_resets_path, alert: "The email address doesn't exist in our database"
17
18
  end
18
19
  end
19
20
 
20
21
  def update
21
- if @<%= singular_table_name %>.update(password_params)
22
+ if @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
22
23
  redirect_to sign_in_path, notice: "Your password was reset successfully. Please sign in"
23
24
  else
24
25
  render :edit, status: :unprocessable_entity
@@ -27,12 +28,12 @@ class PasswordResetsController < ApplicationController
27
28
 
28
29
  private
29
30
  def set_<%= singular_table_name %>
30
- @<%= singular_table_name %> = <%= class_name %>.find_signed!(params[:token], purpose: "password_reset")
31
+ @<%= singular_table_name %> = <%= class_name %>.find_signed!(params[:sid], purpose: "password_reset")
31
32
  rescue ActiveSupport::MessageVerifier::InvalidSignature
32
- redirect_to sign_in_path, alert: "Your token has expired, please request a new one"
33
+ redirect_to new_password_resets_path, alert: "Your token has expired, please request a new one"
33
34
  end
34
35
 
35
- def password_params
36
+ def <%= "#{singular_table_name}_params" %>
36
37
  params.require(:<%= singular_table_name %>).permit(:password, :password_confirmation)
37
38
  end
38
39
  end
@@ -2,13 +2,13 @@ class PasswordsController < ApplicationController
2
2
  before_action :set_<%= singular_table_name %>
3
3
 
4
4
  def edit
5
- @<%= singular_table_name %> = Current.<%= singular_table_name %>
6
5
  end
7
6
 
8
7
  def update
9
8
  if !@<%= singular_table_name %>.authenticate(params[:current_password])
10
- redirect_to password_edit_path, alert: "The current password you entered is incorrect"
11
- elsif @<%= singular_table_name %>.update(password_params)
9
+ redirect_to edit_passwords_path, alert: "The current password you entered is incorrect"
10
+ elsif @<%= singular_table_name %>.update(<%= "#{singular_table_name}_params" %>)
11
+ PasswordMailer.with(user: @<%= singular_table_name %>).changed.deliver_later
12
12
  redirect_to root_path, notice: "Your password has been changed successfully"
13
13
  else
14
14
  render :edit, status: :unprocessable_entity
@@ -20,7 +20,7 @@ class PasswordsController < ApplicationController
20
20
  @<%= singular_table_name %> = Current.<%= singular_table_name %>
21
21
  end
22
22
 
23
- def password_params
23
+ def <%= "#{singular_table_name}_params" %>
24
24
  params.require(:<%= singular_table_name %>).permit(:password, :password_confirmation)
25
25
  end
26
26
  end
@@ -0,0 +1,6 @@
1
+ class EmailMailer < ApplicationMailer
2
+ def changed
3
+ @previous_email, @current_email = params[:email_change]
4
+ mail to: @previous_email
5
+ end
6
+ end
@@ -1,6 +1,10 @@
1
1
  class PasswordMailer < ApplicationMailer
2
+ def changed
3
+ mail to: params[:<%= singular_table_name %>].email
4
+ end
5
+
2
6
  def reset
3
- @token = params[:<%= singular_table_name %>].signed_id(purpose: "password_reset", expires_in: 15.minutes)
7
+ @signed_id = params[:<%= singular_table_name %>].signed_id(purpose: "password_reset", expires_in: 20.minutes)
4
8
  mail to: params[:<%= singular_table_name %>].email
5
9
  end
6
10
  end
@@ -1,11 +1,11 @@
1
1
  <h1>Want to close your account?</h1>
2
2
 
3
- <p>Your account will be immediately closed. You wont be able to sign in anymore.</p>
3
+ <p>Your account will be immediately closed. You won't be able to sign in anymore.</p>
4
4
  <p>Your data will be permanently deleted from our servers.</p>
5
5
  <p><%%= link_to "Back", root_path %></p>
6
6
 
7
7
  <br>
8
8
 
9
9
  <div>
10
- <%%= button_to "OK, close my account", cancellation_path, method: :post %>
10
+ <%%= button_to "OK, close my account", cancellations_path %>
11
11
  </div>
@@ -0,0 +1,11 @@
1
+ <p>Hey there,</p>
2
+
3
+ <p>We just wanted to confirm that your email address has been updated.</p>
4
+
5
+ <p><strong>Before, it was: <%%= @previous_email %></strong></p>
6
+
7
+ <p><strong>Now it is set to: <%%= @current_email %></strong></p>
8
+
9
+ <hr>
10
+
11
+ <p>If you didn't make this change, someone else may have access to your account. If you think that may be the case, please reply to this email and our support team will help you out.</p>
@@ -0,0 +1,9 @@
1
+ Hey there,
2
+
3
+ We just wanted to confirm that your email address has been updated.
4
+
5
+ Before, it was: <%%= @previous_email %>
6
+
7
+ Now it is set to: <%%= @current_email %>
8
+
9
+ If you didn't make this change, someone else may have access to your account. If you think that may be the case, please reply to this email and our support team will help you out.
@@ -0,0 +1,37 @@
1
+ <p style="color: red"><%%= alert %></p>
2
+
3
+ <h1>Change your email</h1>
4
+
5
+ <%%= form_with(model: @<%= model_resource_name %>, url: emails_path) do |form| %>
6
+ <%% if @<%= singular_table_name %>.errors.any? %>
7
+ <div style="color: red">
8
+ <h2><%%= pluralize(@<%= singular_table_name %>.errors.count, "error") %> prohibited this <%= singular_table_name %> from being saved:</h2>
9
+
10
+ <ul>
11
+ <%% @<%= singular_table_name %>.errors.each do |error| %>
12
+ <li><%%= error.full_message %></li>
13
+ <%% end %>
14
+ </ul>
15
+ </div>
16
+ <%% end %>
17
+
18
+ <div>
19
+ <%%= label_tag :current_password, nil, style: "display: block" %>
20
+ <%%= password_field_tag :current_password, nil, autofocus: true, autocomplete: "current-password" %>
21
+ </div>
22
+
23
+ <div>
24
+ <%%= form.label :email, "New email", style: "display: block" %>
25
+ <%%= form.email_field :email %>
26
+ </div>
27
+
28
+ <div>
29
+ <%%= form.submit "Save changes" %>
30
+ </div>
31
+ <%% end %>
32
+
33
+ <br>
34
+
35
+ <div>
36
+ <%%= link_to "Back", root_path %>
37
+ </div>
@@ -0,0 +1,7 @@
1
+ <p>Hey there,</p>
2
+
3
+ <p>We just wanted to confirm that your password has been updated.</p>
4
+
5
+ <hr>
6
+
7
+ <p>If you didn't make this change, someone else may have access to your account. If you think that may be the case, please reply to this email and our support team will help you out.</p>
@@ -0,0 +1,5 @@
1
+ Hey there,
2
+
3
+ We just wanted to confirm that your password has been updated.
4
+
5
+ If you didn't make this change, someone else may have access to your account. If you think that may be the case, please reply to this email and our support team will help you out.
@@ -1,8 +1,11 @@
1
- <p>Hello <%%= params[:<%= singular_table_name %>].email %>!</p>
1
+ <p>Hey there,</p>
2
2
 
3
- <p>Someone has requested a link to change your password. You can do this through the link below.</p>
3
+ <p>Can't remember your password for <strong><%%= params[:<%= singular_table_name %>].email %></strong>? That's OK, it happens. Just hit the link below to set a new one.</p>
4
4
 
5
- <p><%%= link_to "Change my password", password_reset_edit_url(token: @token) %></p>
5
+ <p><%%= link_to "Reset my password", edit_password_resets_url(sid: @signed_id) %></p>
6
6
 
7
- <p>If you didn't request this, please ignore this email.</p>
8
- <p>Your password won't change until you access the link above and create a new one.</p>
7
+ <p>If you did not request a password reset you can safely ignore this email, it expires in 20 minutes. Only someone with access to this email account can reset your password.</p>
8
+
9
+ <hr>
10
+
11
+ <p>Have questions or need help? Just reply to this email and our support team will help you sort it out.</p>
@@ -1,8 +1,9 @@
1
- Hello <%%= params[:<%= singular_table_name %>].email %>
1
+ Hey there,
2
2
 
3
- Someone has requested a link to change your password, and you can do this through the link below.
3
+ Can't remember your password for <%%= params[:<%= singular_table_name %>].email %>? That's OK, it happens. Just hit the link below to set a new one.
4
4
 
5
- [Change my password]<%%= password_reset_edit_url(token: @token) %>
5
+ [Reset my password]<%%= edit_password_resets_url(sid: @signed_id) %>
6
6
 
7
- If you didn't request this, please ignore this email.
8
- Your password won't change until you access the link above and create a new one.
7
+ If you did not request a password reset you can safely ignore this email, it expires in 20 minutes. Only someone with access to this email account can reset your password.
8
+
9
+ Have questions or need help? Just reply to this email and our support team will help you sort it out.
@@ -1,6 +1,6 @@
1
1
  <h1>Reset your password</h1>
2
2
 
3
- <%%= form_with(model: @<%= model_resource_name %>, url: password_reset_path(token: params[:token])) do |form| %>
3
+ <%%= form_with(model: @<%= model_resource_name %>, url: password_resets_path) do |form| %>
4
4
  <%% if @<%= singular_table_name %>.errors.any? %>
5
5
  <div style="color: red">
6
6
  <h2><%%= pluralize(@<%= singular_table_name %>.errors.count, "error") %> prohibited this <%= singular_table_name %> from being saved:</h2>
@@ -13,24 +13,20 @@
13
13
  </div>
14
14
  <%% end %>
15
15
 
16
+ <%%= hidden_field_tag :sid, params[:sid] %>
17
+
16
18
  <div>
17
- <%%= form.label :password, "New password (8 characters minimum)", style: "display: block" %>
19
+ <%%= form.label :password, "New password", style: "display: block" %>
18
20
  <%%= form.password_field :password, autofocus: true, autocomplete: "new-password" %>
21
+ <div>8 characters minimum.</div>
19
22
  </div>
20
23
 
21
24
  <div>
22
- <%%= form.label :password_confirmation, style: "display: block" %>
25
+ <%%= form.label :password_confirmation, "Confirm new password", style: "display: block" %>
23
26
  <%%= form.password_field :password_confirmation, autocomplete: "new-password" %>
24
27
  </div>
25
28
 
26
29
  <div>
27
- <%%= form.submit "Reset password" %>
30
+ <%%= form.submit "Save changes" %>
28
31
  </div>
29
32
  <%% end %>
30
-
31
- <br>
32
-
33
- <div>
34
- <%%= link_to "Sign in", sign_in_path %> |
35
- <%%= link_to "Sign up", sign_up_path %>
36
- </div>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <h1>Forgot your password?</h1>
4
4
 
5
- <%%= form_with(url: password_reset_path) do |form| %>
5
+ <%%= form_with(url: password_resets_path) do |form| %>
6
6
  <div>
7
7
  <%%= form.label :email, style: "display: block" %>
8
8
  <%%= form.email_field :email, autofocus: true, required: true %>
@@ -12,10 +12,3 @@
12
12
  <%%= form.submit "Send password reset email" %>
13
13
  </div>
14
14
  <%% end %>
15
-
16
- <br>
17
-
18
- <div>
19
- <%%= link_to "Sign in", sign_in_path %> |
20
- <%%= link_to "Sign up", sign_up_path %>
21
- </div>
@@ -2,7 +2,7 @@
2
2
 
3
3
  <h1>Change your password</h1>
4
4
 
5
- <%%= form_with(model: @<%= model_resource_name %>, url: password_path) do |form| %>
5
+ <%%= form_with(model: @<%= model_resource_name %>, url: passwords_path) do |form| %>
6
6
  <%% if @<%= singular_table_name %>.errors.any? %>
7
7
  <div style="color: red">
8
8
  <h2><%%= pluralize(@<%= singular_table_name %>.errors.count, "error") %> prohibited this <%= singular_table_name %> from being saved:</h2>
@@ -21,12 +21,13 @@
21
21
  </div>
22
22
 
23
23
  <div>
24
- <%%= form.label :password, "New password (8 characters minimum)", style: "display: block" %>
24
+ <%%= form.label :password, "New password", style: "display: block" %>
25
25
  <%%= form.password_field :password, autocomplete: "new-password" %>
26
+ <div>8 characters minimum.</div>
26
27
  </div>
27
28
 
28
29
  <div>
29
- <%%= form.label :password_confirmation, style: "display: block" %>
30
+ <%%= form.label :password_confirmation, "Confirm new password", style: "display: block" %>
30
31
  <%%= form.password_field :password_confirmation, autocomplete: "new-password" %>
31
32
  </div>
32
33
 
@@ -19,8 +19,9 @@
19
19
  </div>
20
20
 
21
21
  <div>
22
- <%%= form.label :password, "Password (8 characters minimum)", style: "display: block" %>
22
+ <%%= form.label :password, style: "display: block" %>
23
23
  <%%= form.password_field :password, autocomplete: "new-password" %>
24
+ <div>8 characters minimum.</div>
24
25
  </div>
25
26
 
26
27
  <div>
@@ -32,9 +33,3 @@
32
33
  <%%= form.submit "Sign up" %>
33
34
  </div>
34
35
  <%% end %>
35
-
36
- <br>
37
-
38
- <div>
39
- <%%= link_to "Sign in", sign_in_path %>
40
- </div>
@@ -28,5 +28,5 @@
28
28
 
29
29
  <div>
30
30
  <%%= link_to "Sign up", sign_up_path %> |
31
- <%%= link_to "Forgot your password?", password_reset_new_path %>
31
+ <%%= link_to "Forgot your password?", new_password_resets_path %>
32
32
  </div>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authentication-zero
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nixon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-15 00:00:00.000000000 Z
11
+ date: 2022-02-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email:
@@ -32,20 +32,28 @@ files:
32
32
  - lib/generators/authentication/USAGE
33
33
  - lib/generators/authentication/authentication_generator.rb
34
34
  - lib/generators/authentication/templates/controllers/api/cancellations_controller.rb.tt
35
+ - lib/generators/authentication/templates/controllers/api/emails_controller.rb.tt
35
36
  - lib/generators/authentication/templates/controllers/api/password_resets_controller.rb.tt
36
37
  - lib/generators/authentication/templates/controllers/api/passwords_controller.rb.tt
37
38
  - lib/generators/authentication/templates/controllers/api/registrations_controller.rb.tt
38
39
  - lib/generators/authentication/templates/controllers/api/sessions_controller.rb.tt
39
40
  - lib/generators/authentication/templates/controllers/html/cancellations_controller.rb.tt
41
+ - lib/generators/authentication/templates/controllers/html/emails_controller.rb.tt
40
42
  - lib/generators/authentication/templates/controllers/html/password_resets_controller.rb.tt
41
43
  - lib/generators/authentication/templates/controllers/html/passwords_controller.rb.tt
42
44
  - lib/generators/authentication/templates/controllers/html/registrations_controller.rb.tt
43
45
  - lib/generators/authentication/templates/controllers/html/sessions_controller.rb.tt
46
+ - lib/generators/authentication/templates/mailers/email_mailer.rb.tt
44
47
  - lib/generators/authentication/templates/mailers/password_mailer.rb.tt
45
48
  - lib/generators/authentication/templates/migration.rb.tt
46
49
  - lib/generators/authentication/templates/models/current.rb.tt
47
50
  - lib/generators/authentication/templates/models/resource.rb.tt
48
51
  - lib/generators/authentication/templates/views/cancellations/new.html.erb.tt
52
+ - lib/generators/authentication/templates/views/email_mailer/changed.html.erb.tt
53
+ - lib/generators/authentication/templates/views/email_mailer/changed.text.erb.tt
54
+ - lib/generators/authentication/templates/views/emails/edit.html.erb.tt
55
+ - lib/generators/authentication/templates/views/password_mailer/changed.html.erb.tt
56
+ - lib/generators/authentication/templates/views/password_mailer/changed.text.erb.tt
49
57
  - lib/generators/authentication/templates/views/password_mailer/reset.html.erb.tt
50
58
  - lib/generators/authentication/templates/views/password_mailer/reset.text.erb.tt
51
59
  - lib/generators/authentication/templates/views/password_resets/edit.html.erb.tt