devise-bootstrap-form 0.1.0 → 1.0.0.alpha.pre.1

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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +46 -0
  3. data/.gitignore +17 -0
  4. data/.rubocop.yml +31 -12
  5. data/CHANGELOG.md +54 -1
  6. data/CONTRIBUTING.md +38 -14
  7. data/Dangerfile +11 -13
  8. data/Gemfile +1 -1
  9. data/README.md +67 -44
  10. data/RELEASING.md +2 -1
  11. data/app/views/devise/confirmations/new.html.erb +13 -19
  12. data/app/views/devise/invitations/edit.html.erb +10 -16
  13. data/app/views/devise/invitations/new.html.erb +8 -14
  14. data/app/views/devise/mailer/invitation_instructions.html.erb +1 -1
  15. data/app/views/devise/mailer/invitation_instructions.text.erb +1 -1
  16. data/app/views/devise/passwords/edit.html.erb +19 -25
  17. data/app/views/devise/passwords/new.html.erb +11 -18
  18. data/app/views/devise/registrations/edit.html.erb +20 -26
  19. data/app/views/devise/registrations/new.html.erb +16 -22
  20. data/app/views/devise/sessions/new.html.erb +15 -21
  21. data/app/views/devise/shared/_error_messages.html.erb +15 -0
  22. data/app/views/devise/shared/_links.html.erb +5 -5
  23. data/app/views/devise/unlocks/new.html.erb +10 -16
  24. data/app/views/i18n/confirmations/new.html.erb +17 -0
  25. data/app/views/i18n/mailer/confirmation_instructions.html.erb +4 -0
  26. data/app/views/i18n/mailer/email_changed.html.erb +7 -0
  27. data/app/views/i18n/mailer/password_change.html.erb +3 -0
  28. data/app/views/i18n/mailer/reset_password_instructions.html.erb +8 -0
  29. data/app/views/i18n/mailer/unlock_instructions.html.erb +7 -0
  30. data/app/views/i18n/passwords/edit.html.erb +23 -0
  31. data/app/views/i18n/passwords/new.html.erb +12 -0
  32. data/app/views/i18n/registrations/edit.html.erb +27 -0
  33. data/app/views/i18n/registrations/new.html.erb +19 -0
  34. data/app/views/i18n/sessions/new.html.erb +18 -0
  35. data/app/views/i18n/shared/_links.html.erb +25 -0
  36. data/app/views/i18n/unlocks/new.html.erb +14 -0
  37. data/bin/console +5 -5
  38. data/devise-bootstrap-form.gemspec +22 -13
  39. data/gemfiles/5.2.gemfile +14 -0
  40. data/gemfiles/6.0.gemfile +14 -0
  41. data/gemfiles/6.1.gemfile +14 -0
  42. data/gemfiles/7.0.gemfile +14 -0
  43. data/lib/devise_bootstrap_form/railtie.rb +6 -0
  44. data/lib/devise_bootstrap_form/version.rb +6 -0
  45. data/lib/{devise/bootstrap_form.rb → devise_bootstrap_form.rb} +1 -1
  46. data/lib/generators/devise/views/bootstrap_form_generator.rb +25 -8
  47. metadata +59 -28
  48. data/.travis.yml +0 -23
  49. data/lib/devise/bootstrap_form/railtie.rb +0 -6
  50. data/lib/devise/bootstrap_form/version.rb +0 -7
@@ -5,7 +5,7 @@
5
5
  <p><%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, :invitation_token => @token) %></p>
6
6
 
7
7
  <% if @resource.invitation_due_at %>
8
- <p><%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :'devise.mailer.invitation_instructions.accept_until_format')) %></p>
8
+ <p><%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :"devise.mailer.invitation_instructions.accept_until_format")) %></p>
9
9
  <% end %>
10
10
 
11
11
  <p><%= t("devise.mailer.invitation_instructions.ignore") %></p>
@@ -5,7 +5,7 @@
5
5
  <%= accept_invitation_url(@resource, :invitation_token => @token) %>
6
6
 
7
7
  <% if @resource.invitation_due_at %>
8
- <%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :'devise.mailer.invitation_instructions.accept_until_format')) %>
8
+ <%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :"devise.mailer.invitation_instructions.accept_until_format")) %>
9
9
  <% end %>
10
10
 
11
11
  <%= t("devise.mailer.invitation_instructions.ignore") %>
@@ -1,29 +1,23 @@
1
- <div class="devise-bootstrap-form">
2
- <div class="devise-bootstrap-form-row">
3
- <div class="devise-bootstrap-form-col">
4
- <h2 class="text-center">Change your password</h2>
1
+ <h2 class="text-center">Change your password</h2>
5
2
 
6
- <%= bootstrap_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| %>
7
- <%= devise_error_messages! %>
8
- <%= f.hidden_field :reset_password_token %>
3
+ <%= bootstrap_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| %>
4
+ <%= render "devise/shared/error_messages", resource: resource %>
5
+ <%= f.hidden_field :reset_password_token %>
9
6
 
10
- <%= f.password_field :password,
11
- autofocus: true,
12
- autocomplete: "new-password",
13
- help: "(#{@minimum_password_length} characters minimum)",
14
- label: "New password" %>
15
- <%= f.password_field :password_confirmation,
16
- label: "Confirm new password",
17
- autocomplete: "off",
18
- class: "required" %>
19
- <%= f.form_group do %>
20
- <%= f.submit "Change my password", class: 'btn btn-primary btn-block btn-lg' %>
21
- <% end %>
22
- <% end %>
7
+ <%= f.password_field :password,
8
+ autofocus: true,
9
+ autocomplete: "new-password",
10
+ help: "(#{@minimum_password_length} characters minimum)",
11
+ label: "New password" %>
12
+ <%= f.password_field :password_confirmation,
13
+ label: "Confirm new password",
14
+ autocomplete: "off",
15
+ class: "required" %>
16
+ <%= f.form_group class: "d-grid" do %>
17
+ <%= f.submit "Change my password", class: "btn btn-primary btn-lg" %>
18
+ <% end %>
19
+ <% end %>
23
20
 
24
- <div class="text-center">
25
- <%= render "devise/shared/links" %>
26
- </div>
27
- </div>
28
- </div>
21
+ <div class="text-center">
22
+ <%= render "devise/shared/links" %>
29
23
  </div>
@@ -1,20 +1,13 @@
1
- <div class="devise-bootstrap-form">
2
- <div class="devise-bootstrap-form-row">
3
- <div class="devise-bootstrap-form-col">
4
- <h2 class="text-center">Forgot your password?</h2>
1
+ <h2 class="text-center">Forgot your password?</h2>
5
2
 
6
- <%= bootstrap_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| %>
7
- <%= devise_error_messages! %>
8
- <br>
9
- <p class="text-left">Please enter your email address and we will send you a link to reset your password.</p>
10
- <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
11
- <%= f.form_group do %>
12
- <%= f.submit "Send me reset password instructions", class: 'btn btn-primary btn-block btn-lg' %>
13
- <% end %>
14
- <% end %>
15
- <div class="text-center">
16
- <%= render "devise/shared/links" %>
17
- </div>
18
- </div>
19
- </div>
3
+ <%= bootstrap_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| %>
4
+ <%= render "devise/shared/error_messages", resource: resource %>
5
+ <p class="text-left">Please enter your email address and we will send you a link to reset your password.</p>
6
+ <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
7
+ <%= f.form_group class: "d-grid" do %>
8
+ <%= f.submit "Send me reset password instructions", class: "btn btn-primary btn-lg" %>
9
+ <% end %>
10
+ <% end %>
11
+ <div class="text-center">
12
+ <%= render "devise/shared/links" %>
20
13
  </div>
@@ -1,33 +1,27 @@
1
- <div class="devise-bootstrap-form">
2
- <div class="devise-bootstrap-form-row">
3
- <div class="devise-bootstrap-form-col">
4
- <h2 class="text-center">Edit <%= resource_name.to_s.humanize %></h2>
5
- <%= bootstrap_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
6
- <%= devise_error_messages! %>
1
+ <h2 class="text-center">Edit <%= resource_name.to_s.humanize %></h2>
2
+ <%= bootstrap_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
3
+ <%= render "devise/shared/error_messages", resource: resource %>
7
4
 
8
- <%= f.email_field :email %>
5
+ <%= f.email_field :email %>
9
6
 
10
- <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
11
- <div>Currently waiting confirmation for: <%= resource.unconfirmed_email %></div>
12
- <% end %>
7
+ <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
8
+ <div>Currently waiting confirmation for: <%= resource.unconfirmed_email %></div>
9
+ <% end %>
13
10
 
14
- <%= f.password_field :password, autocomplete: "off", help: "leave blank if you don't want to change it" %>
15
- <%= f.password_field :password_confirmation, autocomplete: "off", class: "required" %>
16
- <%= f.password_field :current_password,
17
- autocomplete: "off",
18
- class: "required",
19
- help: "We need your current password to confirm your changes." %>
11
+ <%= f.password_field :password, autocomplete: "off", help: "leave blank if you don't want to change it" %>
12
+ <%= f.password_field :password_confirmation, autocomplete: "off", class: "required" %>
13
+ <%= f.password_field :current_password,
14
+ autocomplete: "off",
15
+ class: "required",
16
+ help: "We need your current password to confirm your changes." %>
20
17
 
21
- <%= f.form_group do %>
22
- <%= f.submit "Update", class: "btn btn-lg btn-block btn-primary" %>
23
- <% end %>
24
- <% end %>
18
+ <%= f.form_group class: "d-grid" do %>
19
+ <%= f.submit "Update", class: "btn btn-lg btn-primary" %>
20
+ <% end %>
21
+ <% end %>
25
22
 
26
- <h2>Cancel my account</h2>
23
+ <h2>Cancel my account</h2>
27
24
 
28
- <p>Unhappy? <%= button_to "Cancel my account", registration_path(resource_name), class: "btn btn-block btn-danger", data: { confirm: "Are you sure? You cannot undo this." }, method: :delete %></p>
25
+ <p>Unhappy? <%= button_to "Cancel my account", registration_path(resource_name), class: "btn btn-danger", data: { confirm: "Are you sure? You cannot undo this." }, method: :delete %></p>
29
26
 
30
- <%= link_to "Back", :back %>
31
- </div>
32
- </div>
33
- </div>
27
+ <%= link_to "Back", :back %>
@@ -1,25 +1,19 @@
1
- <div class="devise-bootstrap-form">
2
- <div class="devise-bootstrap-form-row">
3
- <div class="devise-bootstrap-form-col">
4
- <h2 class="text-center">Sign up</h2>
5
- <%= bootstrap_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
6
- <%= devise_error_messages! %>
1
+ <h2 class="text-center">Sign up</h2>
2
+ <%= bootstrap_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
3
+ <%= render "devise/shared/error_messages", resource: resource %>
7
4
 
8
- <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
9
- <%= f.password_field :password,
10
- autocomplete: "new-password",
11
- help: "(#{@minimum_password_length} characters minimum)" %>
12
- <%= f.password_field :password_confirmation,
13
- autocomplete: "new-password",
14
- label_class: "required" %>
5
+ <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
6
+ <%= f.password_field :password,
7
+ autocomplete: "new-password",
8
+ help: "(#{@minimum_password_length} characters minimum)" %>
9
+ <%= f.password_field :password_confirmation,
10
+ autocomplete: "new-password",
11
+ label_class: "required" %>
15
12
 
16
- <%= f.form_group do %>
17
- <%= f.submit "Sign up", class: "btn btn-primary btn-block btn-lg" %>
18
- <% end %>
19
- <% end %>
20
- <div class="text-center">
21
- <%= render "devise/shared/links" %>
22
- </div>
23
- </div>
24
- </div>
13
+ <%= f.form_group class: "d-grid" do %>
14
+ <%= f.submit "Sign up", class: "btn btn-primary btn-lg" %>
15
+ <% end %>
16
+ <% end %>
17
+ <div class="text-center">
18
+ <%= render "devise/shared/links" %>
25
19
  </div>
@@ -1,24 +1,18 @@
1
- <div class="devise-bootstrap-form">
2
- <div class="devise-bootstrap-form-row">
3
- <div class="devise-bootstrap-form-col">
4
- <h2 class="text-center">Log in</h2>
5
- <%= bootstrap_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
6
- <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
7
- <%= f.password_field :password, autocomplete: "current-password", placeholder: 'Password' %>
1
+ <h2 class="text-center">Log in</h2>
2
+ <%= bootstrap_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
3
+ <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
4
+ <%= f.password_field :password, autocomplete: "current-password", placeholder: "Password" %>
8
5
 
9
- <% if devise_mapping.rememberable? -%>
10
- <%= f.form_group do %>
11
- <%= f.check_box :remember_me %>
12
- <% end %>
13
- <% end -%>
6
+ <% if devise_mapping.rememberable? -%>
7
+ <%= f.form_group do %>
8
+ <%= f.check_box :remember_me %>
9
+ <% end %>
10
+ <% end -%>
14
11
 
15
- <%= f.form_group do %>
16
- <%= f.submit "Log in", class: "btn btn-primary btn-block btn-lg" %>
17
- <% end %>
18
- <% end %>
19
- <div class="text-center">
20
- <%= render "devise/shared/links" %>
21
- </div>
22
- </div>
23
- </div>
12
+ <%= f.form_group class: "d-grid" do %>
13
+ <%= f.submit "Log in", class: "btn btn-primary btn-lg" %>
14
+ <% end %>
15
+ <% end %>
16
+ <div class="text-center">
17
+ <%= render "devise/shared/links" %>
24
18
  </div>
@@ -0,0 +1,15 @@
1
+ <% if resource.errors.any? %>
2
+ <div id="error_explanation">
3
+ <h2>
4
+ <%= I18n.t("errors.messages.not_saved",
5
+ count: resource.errors.count,
6
+ resource: resource.class.model_name.human.downcase)
7
+ %>
8
+ </h2>
9
+ <ul>
10
+ <% resource.errors.full_messages.each do |message| %>
11
+ <li><%= message %></li>
12
+ <% end %>
13
+ </ul>
14
+ </div>
15
+ <% end %>
@@ -1,20 +1,20 @@
1
- <%- if controller_name != 'sessions' %>
1
+ <%- if controller_name != "sessions" %>
2
2
  <%= link_to "Log in", new_session_path(resource_name) %><br />
3
3
  <% end -%>
4
4
 
5
- <%- if devise_mapping.registerable? && controller_name != 'registrations' %>
5
+ <%- if devise_mapping.registerable? && controller_name != "registrations" %>
6
6
  <%= link_to "Sign up", new_registration_path(resource_name) %><br />
7
7
  <% end -%>
8
8
 
9
- <%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %>
9
+ <%- if devise_mapping.recoverable? && controller_name != "passwords" && controller_name != "registrations" %>
10
10
  <%= link_to "Forgot your password?", new_password_path(resource_name) %><br />
11
11
  <% end -%>
12
12
 
13
- <%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
13
+ <%- if devise_mapping.confirmable? && controller_name != "confirmations" %>
14
14
  <%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %><br />
15
15
  <% end -%>
16
16
 
17
- <%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
17
+ <%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != "unlocks" %>
18
18
  <%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %><br />
19
19
  <% end -%>
20
20
 
@@ -1,20 +1,14 @@
1
- <div class="devise-bootstrap-form">
2
- <div class="devise-bootstrap-form-row">
3
- <div class="devise-bootstrap-form-col">
4
- <h2 class="text-center">Resend unlock instructions</h2>
1
+ <h2 class="text-center">Resend unlock instructions</h2>
5
2
 
6
- <%= bootstrap_form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f| %>
7
- <%= devise_error_messages! %>
3
+ <%= bootstrap_form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f| %>
4
+ <%= render "devise/shared/error_messages", resource: resource %>
8
5
 
9
- <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
10
- <%= f.form_group do %>
11
- <%= f.submit "Resend unlock instructions", class: "btn btn-primary btn-block btn-lg" %>
12
- <% end %>
13
- <% end %>
6
+ <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
7
+ <%= f.form_group class: "d-grid" do %>
8
+ <%= f.submit "Resend unlock instructions", class: "btn btn-primary btn-lg" %>
9
+ <% end %>
10
+ <% end %>
14
11
 
15
- <div class="text-center">
16
- <%= render "devise/shared/links" %>
17
- </div>
18
- </div>
19
- </div>
12
+ <div class="text-center">
13
+ <%= render "devise/shared/links" %>
20
14
  </div>
@@ -0,0 +1,17 @@
1
+ <h2 class="text-center"><%= t(".resend_confirmation_instructions") %></h2>
2
+
3
+ <%= bootstrap_form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| %>
4
+ <%= render "devise/shared/error_messages", resource: resource %>
5
+
6
+ <%= f.email_field :email,
7
+ autofocus: true,
8
+ autocomplete: "email",
9
+ value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email) %>
10
+ <%= f.form_group class: "d-grid" do %>
11
+ <%= f.submit t(".resend_confirmation_instructions"), class: "btn btn-primary btn-lg btn-block" %>
12
+ <% end %>
13
+ <% end %>
14
+
15
+ <div class="text-center">
16
+ <%= render "devise/shared/links" %>
17
+ </div>
@@ -0,0 +1,4 @@
1
+ <p><%= t(".greeting", recipient: @email) %></p>
2
+
3
+ <p><%= t(".instruction") %></p>
4
+ <p><%= link_to t(".action"), confirmation_url(@resource, confirmation_token: @token) %></p>
@@ -0,0 +1,7 @@
1
+ <p><%= t(".greeting", recipient: @email) %></p>
2
+
3
+ <% if @resource.try(:unconfirmed_email?) %>
4
+ <p><%= t(".message", email: @resource.unconfirmed_email) %></p>
5
+ <% else %>
6
+ <p><%= t(".message", email: @resource.email) %></p>
7
+ <% end %>
@@ -0,0 +1,3 @@
1
+ <p><%= t(".greeting", recipient: @resource.email) %></p>
2
+
3
+ <p><%= t(".message") %></p>
@@ -0,0 +1,8 @@
1
+ <p><%= t(".greeting", recipient: @resource.email) %></p>
2
+
3
+ <p><%= t(".instruction") %></p>
4
+
5
+ <p><%= link_to t(".action"), edit_password_url(@resource, reset_password_token: @token) %></p>
6
+
7
+ <p><%= t(".instruction_2") %></p>
8
+ <p><%= t(".instruction_3") %></p>
@@ -0,0 +1,7 @@
1
+ <p><%= t(".greeting", recipient: @resource.email) %></p>
2
+
3
+ <p><%= t(".message") %></p>
4
+
5
+ <p><%= t(".instruction") %></p>
6
+
7
+ <p><%= link_to t(".action"), unlock_url(@resource, unlock_token: @token) %></p>
@@ -0,0 +1,23 @@
1
+ <h2 class="text-center"><%= t(".change_your_password") %></h2>
2
+
3
+ <%= bootstrap_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| %>
4
+ <%= render "devise/shared/error_messages", resource: resource %>
5
+ <%= f.hidden_field :reset_password_token %>
6
+
7
+ <%= f.password_field :password,
8
+ autofocus: true,
9
+ autocomplete: "new-password",
10
+ help: "t("devise.shared.minimum_password_length", count: @minimum_password_length)",
11
+ label: t(".new_password") %>
12
+ <%= f.password_field :password_confirmation,
13
+ label: t(".confirm_new_password"),
14
+ autocomplete: "off",
15
+ class: "required" %>
16
+ <%= f.form_group class: "d-grid" do %>
17
+ <%= f.submit t(".change_my_password"), class: "btn btn-primary btn-lg" %>
18
+ <% end %>
19
+ <% end %>
20
+
21
+ <div class="text-center">
22
+ <%= render "devise/shared/links" %>
23
+ </div>
@@ -0,0 +1,12 @@
1
+ <h2 class="text-center"><%= t(".forgot_your_password") %></h2>
2
+
3
+ <%= bootstrap_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| %>
4
+ <%= render "devise/shared/error_messages", resource: resource %>
5
+ <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
6
+ <%= f.form_group class: "d-grid" do %>
7
+ <%= f.submit t(".send_me_reset_password_instructions"), class: "btn btn-primary btn-lg" %>
8
+ <% end %>
9
+ <% end %>
10
+ <div class="text-center">
11
+ <%= render "devise/shared/links" %>
12
+ </div>
@@ -0,0 +1,27 @@
1
+ <h2 class="text-center">t(".title", resource: resource_name.to_s.humanize)</h2>
2
+ <%= bootstrap_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
3
+ <%= render "devise/shared/error_messages", resource: resource %>
4
+
5
+ <%= f.email_field :email %>
6
+
7
+ <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
8
+ <div><%= t(".currently_waiting_confirmation_for_email", email: resource.unconfirmed_email) %></div>
9
+ <% end %>
10
+
11
+ <%= f.password_field :password, autocomplete: "off", help: t(".leave_blank_if_you_don_t_want_to_change_it") + " " + t("devise.shared.minimum_password_length", count: @minimum_password_length) %>
12
+ <%= f.password_field :password_confirmation, autocomplete: "off", class: "required" %>
13
+ <%= f.password_field :current_password,
14
+ autocomplete: "off",
15
+ class: "required",
16
+ help: t(".we_need_your_current_password_to_confirm_your_changes") %>
17
+
18
+ <%= f.form_group class: "d-grid" do %>
19
+ <%= f.submit t(".update"), class: "btn btn-lg btn-primary" %>
20
+ <% end %>
21
+ <% end %>
22
+
23
+ <h2><%= t(".cancel_my_account") %></h2>
24
+
25
+ <p><%= t(".unhappy") %> <%= button_to t(".cancel_my_account"), registration_path(resource_name), class: "btn btn-danger", data: { confirm: t(".are_you_sure") }, method: :delete %></p>
26
+
27
+ <%= link_to t("devise.shared.links.back"), :back %>
@@ -0,0 +1,19 @@
1
+ <h2 class="text-center"><%= t(".sign_up") %></h2>
2
+ <%= bootstrap_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
3
+ <%= render "devise/shared/error_messages", resource: resource %>
4
+
5
+ <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
6
+ <%= f.password_field :password,
7
+ autocomplete: "new-password",
8
+ help: t("devise.shared.minimum_password_length", count: @minimum_password_length) %>
9
+ <%= f.password_field :password_confirmation,
10
+ autocomplete: "new-password",
11
+ label_class: "required" %>
12
+
13
+ <%= f.form_group class: "d-grid" do %>
14
+ <%= f.submit t(".sign_up"), class: "btn btn-primary btn-lg" %>
15
+ <% end %>
16
+ <% end %>
17
+ <div class="text-center">
18
+ <%= render "devise/shared/links" %>
19
+ </div>
@@ -0,0 +1,18 @@
1
+ <h2 class="text-center"><%= t(".sign_in") %></h2>
2
+ <%= bootstrap_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
3
+ <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
4
+ <%= f.password_field :password, autocomplete: "current-password", placeholder: "Password" %>
5
+
6
+ <% if devise_mapping.rememberable? -%>
7
+ <%= f.form_group do %>
8
+ <%= f.check_box :remember_me %>
9
+ <% end %>
10
+ <% end -%>
11
+
12
+ <%= f.form_group class: "d-grid" do %>
13
+ <%= f.submit t(".sign_in"), class: "btn btn-primary btn-lg" %>
14
+ <% end %>
15
+ <% end %>
16
+ <div class="text-center">
17
+ <%= render "devise/shared/links" %>
18
+ </div>
@@ -0,0 +1,25 @@
1
+ <%- if controller_name != "sessions" %>
2
+ <%= link_to t(".sign_in"), new_session_path(resource_name) %><br />
3
+ <% end -%>
4
+
5
+ <%- if devise_mapping.registerable? && controller_name != "registrations" %>
6
+ <%= link_to t(".sign_up"), new_registration_path(resource_name) %><br />
7
+ <% end -%>
8
+
9
+ <%- if devise_mapping.recoverable? && controller_name != "passwords" && controller_name != "registrations" %>
10
+ <%= link_to t(".forgot_your_password"), new_password_path(resource_name) %><br />
11
+ <% end -%>
12
+
13
+ <%- if devise_mapping.confirmable? && controller_name != "confirmations" %>
14
+ <%= link_to t(".didn_t_receive_confirmation_instructions"), new_confirmation_path(resource_name) %><br />
15
+ <% end -%>
16
+
17
+ <%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != "unlocks" %>
18
+ <%= link_to t(".didn_t_receive_unlock_instructions"), new_unlock_path(resource_name) %><br />
19
+ <% end -%>
20
+
21
+ <%- if devise_mapping.omniauthable? %>
22
+ <%- resource_class.omniauth_providers.each do |provider| %>
23
+ <%= link_to t(".sign_in_with_provider", provider: OmniAuth::Utils.camelize(provider)), omniauth_authorize_path(resource_name, provider) %><br />
24
+ <% end -%>
25
+ <% end -%>
@@ -0,0 +1,14 @@
1
+ <h2 class="text-center"><%= t(".resend_unlock_instructions") %></h2>
2
+
3
+ <%= bootstrap_form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f| %>
4
+ <%= render "devise/shared/error_messages", resource: resource %>
5
+
6
+ <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
7
+ <%= f.form_group class: "d-grid" do %>
8
+ <%= f.submit t(".resend_unlock_instructions"), class: "btn btn-primary btn-lg" %>
9
+ <% end %>
10
+ <% end %>
11
+
12
+ <div class="text-center">
13
+ <%= render "devise/shared/links" %>
14
+ </div>
data/bin/console CHANGED
@@ -2,14 +2,14 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "bundler/setup"
5
- require "devise/bootstrap-form"
5
+ require "devise_bootstrap_form"
6
6
 
7
7
  # You can add fixtures and/or initialization code here to make experimenting
8
8
  # with your gem easier. You can also use a different console, if you like.
9
9
 
10
10
  # (If you use this, don't forget to add pry to your Gemfile!)
11
- # require "pry"
12
- # Pry.start
11
+ require "pry"
12
+ Pry.start
13
13
 
14
- require "irb"
15
- IRB.start
14
+ # require "irb"
15
+ # IRB.start
@@ -2,22 +2,23 @@
2
2
 
3
3
  lib = File.expand_path("lib", __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require "devise/bootstrap_form/version"
5
+ require "devise_bootstrap_form/version"
6
6
 
7
7
  Gem::Specification.new do |spec|
8
8
  spec.name = "devise-bootstrap-form"
9
- spec.version = Devise::BootstrapForm::VERSION
10
- spec.authors = ["Andrew Fomera", "Larry Reid"]
9
+ spec.version = DeviseBootstrapForm::VERSION
10
+ spec.authors = ["Larry Reid"]
11
11
  spec.email = ["larry.reid@jadesystems.ca"]
12
12
 
13
13
  spec.summary = "Generates nicer views for Devise that use Bootstrap via the `bootstrap_form` gem."
14
- spec.description = <<-DESC
15
- This gem generates Devise views styled with Bootstrap via the `bootstrap_form`
16
- gem. If you plan to use, or are using, `bootstrap_form` in your app, your Devise
17
- forms will be consistent with the rest of your forms.
14
+ spec.description = <<~DESC
15
+ This gem generates Devise views styled with Bootstrap via the `bootstrap_form`
16
+ gem. If you plan to use, or are using, `bootstrap_form` in your app, your Devise
17
+ forms will be consistent with the rest of your forms.
18
18
 
19
- The generator will detect if you're using `devise_invitable`, and will generate
20
- `bootstrap_form` forms for its views as well.
19
+ The generator will detect if you're using `devise_invitable`, and will generate
20
+ `bootstrap_form` forms for its views as well. If you're using `devise-i18n`, the
21
+ forms will use translations.
21
22
  DESC
22
23
  spec.homepage = "https://github.com/lcreid/devise-bootstrap-form"
23
24
  spec.license = "MIT"
@@ -30,15 +31,23 @@ The generator will detect if you're using `devise_invitable`, and will generate
30
31
  raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
31
32
  end
32
33
 
34
+ spec.required_ruby_version = ">= 2.6"
35
+
33
36
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
34
37
  spec.bindir = "exe"
35
38
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
36
39
  spec.require_paths = ["lib"]
37
40
 
38
- spec.add_dependency "bootstrap_form", ">= 4.0.0.alpha1"
39
- spec.add_dependency "devise"
41
+ spec.add_dependency "bootstrap_form", "~> 5.0"
42
+ # Devise deprecated devise_error_messages! at 4.6.0, so for later versions
43
+ # we add a new partial.
44
+ spec.add_dependency "devise", ">= 4.6.0"
40
45
  spec.add_dependency "rails", ">= 5.0.0"
41
- spec.add_development_dependency "bundler", "~> 1.12"
46
+ spec.add_development_dependency "bundler"
42
47
  spec.add_development_dependency "chandler"
43
- spec.add_development_dependency "rake", "~> 10.0"
48
+ spec.add_development_dependency "pry"
49
+ spec.add_development_dependency "rake"
50
+ spec.metadata = {
51
+ "rubygems_mfa_required" => "true"
52
+ }
44
53
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ # Specify your gem's dependencies in devise-bootstrap-form.gemspec
6
+ gemspec path: ".."
7
+
8
+ # Set a Rails version compatible with a Ruby version
9
+ gem "rails", "~> 5.2.0"
10
+
11
+ group :development do
12
+ gem "rubocop", require: false
13
+ gem "rubocop-rake", require: false
14
+ end