devise-bootstrap-form 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +31 -0
- data/CHANGELOG.md +35 -2
- data/CONTRIBUTING.md +3 -3
- data/README.md +18 -11
- data/app/views/i18n/confirmations/new.html.erb +23 -0
- data/app/views/i18n/mailer/confirmation_instructions.html.erb +4 -0
- data/app/views/i18n/mailer/email_changed.html.erb +7 -0
- data/app/views/i18n/mailer/password_change.html.erb +3 -0
- data/app/views/i18n/mailer/reset_password_instructions.html.erb +8 -0
- data/app/views/i18n/mailer/unlock_instructions.html.erb +7 -0
- data/app/views/i18n/passwords/edit.html.erb +29 -0
- data/app/views/i18n/passwords/new.html.erb +19 -0
- data/app/views/i18n/registrations/edit.html.erb +33 -0
- data/app/views/i18n/registrations/new.html.erb +25 -0
- data/app/views/i18n/sessions/new.html.erb +24 -0
- data/app/views/i18n/shared/_links.html.erb +25 -0
- data/app/views/i18n/unlocks/new.html.erb +20 -0
- data/devise-bootstrap-form.gemspec +5 -4
- data/lib/{devise/bootstrap_form.rb → devise_bootstrap_form.rb} +1 -1
- data/lib/devise_bootstrap_form/railtie.rb +4 -0
- data/lib/devise_bootstrap_form/version.rb +5 -0
- data/lib/generators/devise/views/bootstrap_form_generator.rb +6 -1
- metadata +20 -7
- data/lib/devise/bootstrap_form/railtie.rb +0 -6
- data/lib/devise/bootstrap_form/version.rb +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e9f4f512d9aec46299cf96863bbc67fb56c297bb78c02733535d729ed5ad53d7
|
4
|
+
data.tar.gz: f92f4bd410f63afd7f7b093a7ffe12218245cf63d2b7e5164960230efdee3370
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da59caa8cd1eb13663d70c9d6fb0f9228247778c8e55df40a12f154f23f261a19834bd3eb36a579ee759c875ca7d3fcda1e3d613c5d612a94bce760cf1ad83bb
|
7
|
+
data.tar.gz: bb08c554aa8bc6e918013782775feb8d2b0633ac91e29e9103d1ad8318b650e71769a988ead4b5f27adb61eca2a4d5522ffb3828f561dbe8f75149756677655c
|
data/.rubocop.yml
CHANGED
@@ -8,6 +8,7 @@ Style/StringLiterals:
|
|
8
8
|
ConsistentQuotesInMultiline: false
|
9
9
|
Exclude:
|
10
10
|
- "test/rails_app/app/mailers/*"
|
11
|
+
- "test/es_rails_app/app/mailers/*"
|
11
12
|
|
12
13
|
Layout/AlignParameters:
|
13
14
|
# Alignment of parameters in multi-line method calls.
|
@@ -76,11 +77,41 @@ AllCops:
|
|
76
77
|
- test/rails_app/Gemfile
|
77
78
|
- test/rails_app/Guardfile
|
78
79
|
- test/rails_app/Rakefile
|
80
|
+
- "test/es_rails_app/bin/**/*"
|
81
|
+
- "test/es_rails_app/config/**/*"
|
82
|
+
- test/es_rails_app/config.ru
|
83
|
+
- "test/es_rails_app/db/**/*"
|
84
|
+
- "test/es_rails_app/log/**/*"
|
85
|
+
- "test/es_rails_app/tmp/**/*"
|
86
|
+
- "test/es_rails_app/vendor/**/*"
|
87
|
+
# - test/es_rails_app/config/boot.rb
|
88
|
+
# - test/es_rails_app/config/application.rb
|
89
|
+
# - test/es_rails_app/config/environment.rb
|
90
|
+
# - "test/es_rails_app/config/environments/*"
|
91
|
+
# - "test/es_rails_app/config/initializers/*"
|
92
|
+
# - test/es_rails_app/db/schema.rb
|
93
|
+
- "test/es_rails_app/node_modules/**/*"
|
94
|
+
- "test/es_rails_app/bower_components/**/*"
|
95
|
+
- test/es_rails_app/Gemfile
|
96
|
+
- test/es_rails_app/Guardfile
|
97
|
+
- test/es_rails_app/Rakefile
|
79
98
|
|
80
99
|
Metrics/BlockLength:
|
81
100
|
Exclude:
|
82
101
|
- devise-bootstrap-form.gemspec
|
83
102
|
|
103
|
+
Metrics/AbcSize:
|
104
|
+
Exclude:
|
105
|
+
- test/**/*.rb
|
106
|
+
|
107
|
+
Metrics/ClassLength:
|
108
|
+
Exclude:
|
109
|
+
- test/**/*.rb
|
110
|
+
|
111
|
+
Metrics/MethodLength:
|
112
|
+
Exclude:
|
113
|
+
- test/**/*.rb
|
114
|
+
|
84
115
|
# TODO: Remove this when minimum Ruby is 2.3.
|
85
116
|
Layout/IndentHeredoc:
|
86
117
|
Exclude:
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
## [Pending Release][0.
|
1
|
+
## [Pending Release][0.0.0]
|
2
2
|
|
3
3
|
### Breaking changes
|
4
4
|
|
@@ -10,4 +10,37 @@
|
|
10
10
|
|
11
11
|
### Bugfixes
|
12
12
|
|
13
|
-
*
|
13
|
+
* None.
|
14
|
+
|
15
|
+
## [0.2.0][] (2018-09-30)
|
16
|
+
|
17
|
+
### Breaking changes
|
18
|
+
|
19
|
+
* None.
|
20
|
+
|
21
|
+
### New features
|
22
|
+
|
23
|
+
* Initial support for internationalization.
|
24
|
+
|
25
|
+
### Bugfixes
|
26
|
+
|
27
|
+
* None.
|
28
|
+
|
29
|
+
## [0.1.0][] (2018-08-27)
|
30
|
+
|
31
|
+
### Breaking changes
|
32
|
+
|
33
|
+
* N/A.
|
34
|
+
|
35
|
+
### New features
|
36
|
+
|
37
|
+
* Devise forms using [`bootstrap_form`](https://github.com/bootstrap-ruby/bootstrap_form).
|
38
|
+
|
39
|
+
### Bugfixes
|
40
|
+
|
41
|
+
* N/A.
|
42
|
+
|
43
|
+
```
|
44
|
+
[0.2.0]: https://github.com/lcreid/devise-bootstrap-form/compare/v0.1.0..v0.2.0
|
45
|
+
[0.1.0]: https://github.com/lcreid/devise-bootstrap-form/compare/...v0.2.0
|
46
|
+
```
|
data/CONTRIBUTING.md
CHANGED
@@ -8,12 +8,12 @@ If you find a bug or have an idea for a feature:
|
|
8
8
|
|
9
9
|
## Testing
|
10
10
|
### Manual and Exploratory Testing
|
11
|
-
There
|
11
|
+
There are test apps in `test/rails_app`, for the default locale, and `es_rails_app` for a Spanish locale.
|
12
12
|
|
13
13
|
To use the `devise-bootstrap-form` gem:
|
14
14
|
|
15
15
|
```
|
16
|
-
cd rails_app
|
16
|
+
cd test/rails_app # or cd test/es_rails_app
|
17
17
|
# Generate the view in the test app
|
18
18
|
rails g devise:views:bootstrap_form
|
19
19
|
rails s -b 0.0.0.0 &
|
@@ -27,7 +27,7 @@ rake test
|
|
27
27
|
```
|
28
28
|
|
29
29
|
## Gotchas
|
30
|
-
To test that the views work for a model other than the default `User`, the test
|
30
|
+
To test that the views work for a model other than the default `User`, the test apps use `Person` as the Devise model. It's a bit frustrating to remember that you can't just cut and paste examples that assume the model is `User`.
|
31
31
|
|
32
32
|
## Coding guidelines
|
33
33
|
|
data/README.md
CHANGED
@@ -4,11 +4,9 @@ This gem gives you a nicer place to start customizing views for your Devise mode
|
|
4
4
|
|
5
5
|
It also makes the Devise views simpler, because the code to define forms using `bootstrap_form` is simpler than the code for a "raw" Rails form. So any customization you do to the Devise views will be simpler.
|
6
6
|
|
7
|
-
You can find usage information below, but the gist of it is you'll run `rails g devise:views:
|
7
|
+
You can find usage information below, but the gist of it is you'll run `rails g devise:views:bootstrap_form` instead of the normal `rails g devise:views`.
|
8
8
|
|
9
|
-
If you
|
10
|
-
|
11
|
-
If you're just looking for Bootstrap markup on your Devise views, and don't want to use `bootstrap_form`, then you should look into the [`devise-bootstrapped`](https://github.com/king601/devise-bootstrapped) gem, or one of its forks.
|
9
|
+
If you're just looking for Bootstrap markup on your Devise views, and don't want to use `bootstrap_form`, then you should look into the [`devise-bootstrapped`](https://github.com/king601/devise-bootstrapped) gem, or [`devise-bootstrap-views`](https://github.com/hisea/devise-bootstrap-views).
|
12
10
|
|
13
11
|
## Installation
|
14
12
|
|
@@ -17,8 +15,9 @@ Add these lines to your application's `Gemfile`:
|
|
17
15
|
```ruby
|
18
16
|
gem 'bootstrap', '~> 4.0'
|
19
17
|
gem "bootstrap_form", ">= 4.0.0.alpha1"
|
20
|
-
gem 'devise'
|
21
|
-
gem '
|
18
|
+
gem 'devise' # gem 'devise-i18n'
|
19
|
+
# gem 'devise_invitable'
|
20
|
+
gem 'devise-bootstrap-form'
|
22
21
|
```
|
23
22
|
|
24
23
|
And then execute:
|
@@ -26,14 +25,15 @@ And then execute:
|
|
26
25
|
bundle install
|
27
26
|
```
|
28
27
|
|
29
|
-
There are additional installation instructions for
|
28
|
+
There are additional installation instructions for [`bootstrap_form`](https://github.com/bootstrap-ruby/bootstrap_form#installation), [`bootstrap`](https://github.com/twbs/bootstrap-rubygem#a-ruby-on-rails), [`devise`](https://github.com/plataformatec/devise) that you must complete before using `devise-bootstrap-form`, and
|
29
|
+
[`devise-i18n`](https://github.com/tigrish/devise-i18n).
|
30
30
|
|
31
31
|
## Usage
|
32
32
|
|
33
|
-
|
33
|
+
Once all the gems are installed and configured, and the user model is generated, you can generate the Bootstrap Form views with:
|
34
34
|
|
35
35
|
```bash
|
36
|
-
rails generate devise:views:
|
36
|
+
rails generate devise:views:bootstrap_form
|
37
37
|
```
|
38
38
|
|
39
39
|
If you've already generated the Devise views you can use the `-f` argument to force an override, but that will erase any of the changes you've made to the views.
|
@@ -44,6 +44,8 @@ Generate the mailer views from normal Devise, as they're not included in `devise
|
|
44
44
|
rails generate devise:views -v mailer
|
45
45
|
```
|
46
46
|
|
47
|
+
To switch back to what Devise gives you, remove the `app/views/devise` folder. Your application will then use the default Devise views, or you can run the normal Devise `rails g devise:views` generator command and customize the default Devise views.
|
48
|
+
|
47
49
|
## Generated Layout
|
48
50
|
|
49
51
|
Each of the forms in enclosed in the following:
|
@@ -85,9 +87,9 @@ You may want to adjust to your own tastes. For example, if the layout used by yo
|
|
85
87
|
}
|
86
88
|
```
|
87
89
|
|
88
|
-
from `app/assets/stylesheets/devise_bootstrap_form.scss
|
90
|
+
from `app/assets/stylesheets/devise_bootstrap_form.scss`.
|
89
91
|
|
90
|
-
|
92
|
+
You can also modify the views to change the surrounding `div`s to your needs, or change the SASS in `app/assets/stylesheets/devise_bootstrap_form.scss`.
|
91
93
|
|
92
94
|
If you don't want the `devise_bootstrap_form`-generated styles at all, remove the following line from `app/asserts/application.scss`:
|
93
95
|
|
@@ -95,6 +97,11 @@ If you don't want the `devise_bootstrap_form`-generated styles at all, remove th
|
|
95
97
|
@include "devise_bootstrap_form.scss";
|
96
98
|
```
|
97
99
|
|
100
|
+
## Internationalization
|
101
|
+
If your `Gemfile` includes `devise-i18n`, `devise-bootstrap-form` will generate views with translations. If you're also using `devise_invitable`, you have to manually copy its translations into your application from the [`devise_invitable` wiki](https://github.com/scambra/devise_invitable/wiki/I18n).
|
102
|
+
|
103
|
+
Also, don't forget to add `gem "rails-i18n"` to your `Gemfile`.
|
104
|
+
|
98
105
|
## Contributing
|
99
106
|
|
100
107
|
This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Code of Conduct](CODE_OF_CONDUCT.md).
|
@@ -0,0 +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"><%= t('.resend_confirmation_instructions') %></h2>
|
5
|
+
|
6
|
+
<%= bootstrap_form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| %>
|
7
|
+
<%= devise_error_messages! %>
|
8
|
+
|
9
|
+
<%= f.email_field :email,
|
10
|
+
autofocus: true,
|
11
|
+
autocomplete: "email",
|
12
|
+
value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email) %>
|
13
|
+
<%= f.form_group do %>
|
14
|
+
<%= f.submit t('.resend_confirmation_instructions'), class: 'btn btn-primary btn-lg btn-block' %>
|
15
|
+
<% end %>
|
16
|
+
<% end %>
|
17
|
+
|
18
|
+
<div class="text-center">
|
19
|
+
<%= render "devise/shared/links" %>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
</div>
|
@@ -0,0 +1,29 @@
|
|
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"><%= t('.change_your_password') %></h2>
|
5
|
+
|
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 %>
|
9
|
+
|
10
|
+
<%= f.password_field :password,
|
11
|
+
autofocus: true,
|
12
|
+
autocomplete: "new-password",
|
13
|
+
help: "t('devise.shared.minimum_password_length', count: @minimum_password_length)",
|
14
|
+
label: t('.new_password') %>
|
15
|
+
<%= f.password_field :password_confirmation,
|
16
|
+
label: t('.confirm_new_password'),
|
17
|
+
autocomplete: "off",
|
18
|
+
class: "required" %>
|
19
|
+
<%= f.form_group do %>
|
20
|
+
<%= f.submit t('.change_my_password'), class: 'btn btn-primary btn-block btn-lg' %>
|
21
|
+
<% end %>
|
22
|
+
<% end %>
|
23
|
+
|
24
|
+
<div class="text-center">
|
25
|
+
<%= render "devise/shared/links" %>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
</div>
|
@@ -0,0 +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"><%= t('.forgot_your_password') %></h2>
|
5
|
+
|
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
|
+
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
|
10
|
+
<%= f.form_group do %>
|
11
|
+
<%= f.submit t('.send_me_reset_password_instructions'), class: 'btn btn-primary btn-block btn-lg' %>
|
12
|
+
<% end %>
|
13
|
+
<% end %>
|
14
|
+
<div class="text-center">
|
15
|
+
<%= render "devise/shared/links" %>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
</div>
|
@@ -0,0 +1,33 @@
|
|
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">t('.title', resource: 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! %>
|
7
|
+
|
8
|
+
<%= f.email_field :email %>
|
9
|
+
|
10
|
+
<% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
|
11
|
+
<div><%= t('.currently_waiting_confirmation_for_email', email: resource.unconfirmed_email) %></div>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<%= 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) %>
|
15
|
+
<%= f.password_field :password_confirmation, autocomplete: "off", class: "required" %>
|
16
|
+
<%= f.password_field :current_password,
|
17
|
+
autocomplete: "off",
|
18
|
+
class: "required",
|
19
|
+
help: t('.we_need_your_current_password_to_confirm_your_changes') %>
|
20
|
+
|
21
|
+
<%= f.form_group do %>
|
22
|
+
<%= f.submit t('.update'), class: "btn btn-lg btn-block btn-primary" %>
|
23
|
+
<% end %>
|
24
|
+
<% end %>
|
25
|
+
|
26
|
+
<h2><%= t('.cancel_my_account') %></h2>
|
27
|
+
|
28
|
+
<p><%= t('.unhappy') %> <%= button_to t('.cancel_my_account'), registration_path(resource_name), class: "btn btn-block btn-danger", data: { confirm: t('.are_you_sure') }, method: :delete %></p>
|
29
|
+
|
30
|
+
<%= link_to t('devise.shared.links.back'), :back %>
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
</div>
|
@@ -0,0 +1,25 @@
|
|
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"><%= t('.sign_up') %></h2>
|
5
|
+
<%= bootstrap_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
|
6
|
+
<%= devise_error_messages! %>
|
7
|
+
|
8
|
+
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
|
9
|
+
<%= f.password_field :password,
|
10
|
+
autocomplete: "new-password",
|
11
|
+
help: t('devise.shared.minimum_password_length', count: @minimum_password_length) %>
|
12
|
+
<%= f.password_field :password_confirmation,
|
13
|
+
autocomplete: "new-password",
|
14
|
+
label_class: "required" %>
|
15
|
+
|
16
|
+
<%= f.form_group do %>
|
17
|
+
<%= f.submit t('.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>
|
25
|
+
</div>
|
@@ -0,0 +1,24 @@
|
|
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"><%= t('.sign_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' %>
|
8
|
+
|
9
|
+
<% if devise_mapping.rememberable? -%>
|
10
|
+
<%= f.form_group do %>
|
11
|
+
<%= f.check_box :remember_me %>
|
12
|
+
<% end %>
|
13
|
+
<% end -%>
|
14
|
+
|
15
|
+
<%= f.form_group do %>
|
16
|
+
<%= f.submit t('.sign_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>
|
24
|
+
</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,20 @@
|
|
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"><%= t('.resend_unlock_instructions') %></h2>
|
5
|
+
|
6
|
+
<%= bootstrap_form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f| %>
|
7
|
+
<%= devise_error_messages! %>
|
8
|
+
|
9
|
+
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
|
10
|
+
<%= f.form_group do %>
|
11
|
+
<%= f.submit t('.resend_unlock_instructions'), class: "btn btn-primary btn-block btn-lg" %>
|
12
|
+
<% end %>
|
13
|
+
<% end %>
|
14
|
+
|
15
|
+
<div class="text-center">
|
16
|
+
<%= render "devise/shared/links" %>
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
</div>
|
@@ -2,12 +2,12 @@
|
|
2
2
|
|
3
3
|
lib = File.expand_path("lib", __dir__)
|
4
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
-
require "
|
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 =
|
10
|
-
spec.authors = ["
|
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."
|
@@ -17,7 +17,8 @@ gem. If you plan to use, or are using, `bootstrap_form` in your app, your Devise
|
|
17
17
|
forms will be consistent with the rest of your forms.
|
18
18
|
|
19
19
|
The generator will detect if you're using `devise_invitable`, and will generate
|
20
|
-
`bootstrap_form` forms for its views as well.
|
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"
|
@@ -10,6 +10,10 @@ module Devise
|
|
10
10
|
def invitable
|
11
11
|
Object.const_get(:DeviseInvitable).is_a?(Module) rescue false # rubocop:disable Style/RescueModifier
|
12
12
|
end
|
13
|
+
|
14
|
+
def i18n
|
15
|
+
Object.const_get(:DeviseI18n).is_a?(Module) rescue false # rubocop:disable Style/RescueModifier
|
16
|
+
end
|
13
17
|
end
|
14
18
|
|
15
19
|
desc "Copies views styled for Bootstrap 4 via the `bootstrap_form` gem"
|
@@ -18,7 +22,8 @@ module Devise
|
|
18
22
|
|
19
23
|
def copy_views
|
20
24
|
%w[confirmations passwords registrations sessions shared unlocks].each do |dir|
|
21
|
-
directory File.join("views
|
25
|
+
directory File.join("views/#{BootstrapFormGenerator.i18n ? 'i18n' : 'devise'}", dir),
|
26
|
+
"app/views/devise/#{dir}"
|
22
27
|
end
|
23
28
|
|
24
29
|
if BootstrapFormGenerator.invitable # rubocop:disable Style/GuardClause
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devise-bootstrap-form
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Andrew Fomera
|
8
7
|
- Larry Reid
|
9
8
|
autorequire:
|
10
9
|
bindir: exe
|
11
10
|
cert_chain: []
|
12
|
-
date: 2018-
|
11
|
+
date: 2018-10-02 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: bootstrap_form
|
@@ -101,7 +100,8 @@ description: |
|
|
101
100
|
forms will be consistent with the rest of your forms.
|
102
101
|
|
103
102
|
The generator will detect if you're using `devise_invitable`, and will generate
|
104
|
-
`bootstrap_form` forms for its views as well.
|
103
|
+
`bootstrap_form` forms for its views as well. If you're using `devise-i18n`, the
|
104
|
+
forms will use translations.
|
105
105
|
email:
|
106
106
|
- larry.reid@jadesystems.ca
|
107
107
|
executables: []
|
@@ -135,12 +135,25 @@ files:
|
|
135
135
|
- app/views/devise/sessions/new.html.erb
|
136
136
|
- app/views/devise/shared/_links.html.erb
|
137
137
|
- app/views/devise/unlocks/new.html.erb
|
138
|
+
- app/views/i18n/confirmations/new.html.erb
|
139
|
+
- app/views/i18n/mailer/confirmation_instructions.html.erb
|
140
|
+
- app/views/i18n/mailer/email_changed.html.erb
|
141
|
+
- app/views/i18n/mailer/password_change.html.erb
|
142
|
+
- app/views/i18n/mailer/reset_password_instructions.html.erb
|
143
|
+
- app/views/i18n/mailer/unlock_instructions.html.erb
|
144
|
+
- app/views/i18n/passwords/edit.html.erb
|
145
|
+
- app/views/i18n/passwords/new.html.erb
|
146
|
+
- app/views/i18n/registrations/edit.html.erb
|
147
|
+
- app/views/i18n/registrations/new.html.erb
|
148
|
+
- app/views/i18n/sessions/new.html.erb
|
149
|
+
- app/views/i18n/shared/_links.html.erb
|
150
|
+
- app/views/i18n/unlocks/new.html.erb
|
138
151
|
- bin/console
|
139
152
|
- bin/setup
|
140
153
|
- devise-bootstrap-form.gemspec
|
141
|
-
- lib/
|
142
|
-
- lib/
|
143
|
-
- lib/
|
154
|
+
- lib/devise_bootstrap_form.rb
|
155
|
+
- lib/devise_bootstrap_form/railtie.rb
|
156
|
+
- lib/devise_bootstrap_form/version.rb
|
144
157
|
- lib/generators/devise/views/bootstrap_form_generator.rb
|
145
158
|
homepage: https://github.com/lcreid/devise-bootstrap-form
|
146
159
|
licenses:
|