bootstrap_views_generator 0.1.2 → 0.1.3
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.
- checksums.yaml +4 -4
- data/README.md +6 -0
- data/bin/console +2 -2
- data/bootstrap_views_generator.gemspec +1 -0
- data/lib/bootstrap_views_generator/version.rb +1 -1
- data/lib/generators/bootstrap/devise_generator.rb +61 -0
- data/lib/generators/bootstrap/install_generator.rb +7 -1
- data/lib/generators/bootstrap/templates/devise/erb/confirmations/new.html.erb.tt +22 -0
- data/lib/generators/bootstrap/templates/devise/erb/mailer/confirmation_instructions.html.erb +5 -0
- data/lib/generators/bootstrap/templates/devise/erb/mailer/email_changed.html.erb +7 -0
- data/lib/generators/bootstrap/templates/devise/erb/mailer/password_change.html.erb +3 -0
- data/lib/generators/bootstrap/templates/devise/erb/mailer/reset_password_instructions.html.erb +8 -0
- data/lib/generators/bootstrap/templates/devise/erb/mailer/unlock_instructions.html.erb +7 -0
- data/lib/generators/bootstrap/templates/devise/erb/passwords/edit.html.erb.tt +27 -0
- data/lib/generators/bootstrap/templates/devise/erb/passwords/new.html.erb.tt +25 -0
- data/lib/generators/bootstrap/templates/devise/erb/registrations/edit.html.erb.tt +42 -0
- data/lib/generators/bootstrap/templates/devise/erb/registrations/new.html.erb.tt +28 -0
- data/lib/generators/bootstrap/templates/devise/erb/sessions/new.html.erb.tt +34 -0
- data/lib/generators/bootstrap/templates/devise/erb/shared/_error_messages.html.erb +15 -0
- data/lib/generators/bootstrap/templates/devise/erb/shared/_links.html.erb +25 -0
- data/lib/generators/bootstrap/templates/devise/erb/unlocks/new.html.erb.tt +18 -0
- data/lib/generators/bootstrap/templates/devise/haml/confirmations/new.html.haml.tt +17 -0
- data/lib/generators/bootstrap/templates/devise/haml/mailer/confirmation_instructions.html.haml +3 -0
- data/lib/generators/bootstrap/templates/devise/haml/mailer/email_changed.html.haml +7 -0
- data/lib/generators/bootstrap/templates/devise/haml/mailer/password_change.html.haml +2 -0
- data/lib/generators/bootstrap/templates/devise/haml/mailer/reset_password_instructions.html.haml +5 -0
- data/lib/generators/bootstrap/templates/devise/haml/mailer/unlock_instructions.html.haml +4 -0
- data/lib/generators/bootstrap/templates/devise/haml/passwords/edit.html.haml.tt +23 -0
- data/lib/generators/bootstrap/templates/devise/haml/passwords/new.html.haml.tt +17 -0
- data/lib/generators/bootstrap/templates/devise/haml/registrations/edit.html.haml.tt +39 -0
- data/lib/generators/bootstrap/templates/devise/haml/registrations/new.html.haml.tt +19 -0
- data/lib/generators/bootstrap/templates/devise/haml/sessions/new.html.haml.tt +21 -0
- data/lib/generators/bootstrap/templates/devise/haml/shared/_error_messages.html.haml +7 -0
- data/lib/generators/bootstrap/templates/devise/haml/shared/_links.html.haml +19 -0
- data/lib/generators/bootstrap/templates/devise/haml/unlocks/new.html.haml.tt +14 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/erb/confirmations/new.html.erb.tt +22 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/erb/passwords/edit.html.erb.tt +18 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/erb/passwords/new.html.erb.tt +21 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/erb/registrations/edit.html.erb.tt +30 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/erb/registrations/new.html.erb.tt +20 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/erb/sessions/new.html.erb.tt +22 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/erb/unlocks/new.html.erb.tt +16 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/haml/confirmations/new.html.haml.tt +16 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/haml/passwords/edit.html.haml.tt +15 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/haml/passwords/new.html.haml.tt +15 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/haml/registrations/edit.html.haml.tt +26 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/haml/registrations/new.html.haml.tt +17 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/haml/sessions/new.html.haml.tt +16 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/haml/unlocks/new.html.haml.tt +13 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/slim/confirmations/new.html.slim.tt +16 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/slim/passwords/edit.html.slim.tt +15 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/slim/passwords/new.html.slim.tt +15 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/slim/registrations/edit.html.slim.tt +26 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/slim/registrations/new.html.slim.tt +17 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/slim/sessions/new.html.slim.tt +16 -0
- data/lib/generators/bootstrap/templates/devise/simple_form/slim/unlocks/new.html.slim.tt +13 -0
- data/lib/generators/bootstrap/templates/devise/slim/confirmations/new.html.slim.tt +17 -0
- data/lib/generators/bootstrap/templates/devise/slim/mailer/confirmation_instructions.html.slim +3 -0
- data/lib/generators/bootstrap/templates/devise/slim/mailer/email_changed.html.slim +5 -0
- data/lib/generators/bootstrap/templates/devise/slim/mailer/password_change.html.slim +2 -0
- data/lib/generators/bootstrap/templates/devise/slim/mailer/reset_password_instructions.html.slim +5 -0
- data/lib/generators/bootstrap/templates/devise/slim/mailer/unlock_instructions.html.slim +4 -0
- data/lib/generators/bootstrap/templates/devise/slim/passwords/edit.html.slim.tt +22 -0
- data/lib/generators/bootstrap/templates/devise/slim/passwords/new.html.slim.tt +17 -0
- data/lib/generators/bootstrap/templates/devise/slim/registrations/edit.html.slim.tt +39 -0
- data/lib/generators/bootstrap/templates/devise/slim/registrations/new.html.slim.tt +19 -0
- data/lib/generators/bootstrap/templates/devise/slim/sessions/new.html.slim.tt +21 -0
- data/lib/generators/bootstrap/templates/devise/slim/shared/_error_messages.html.slim +7 -0
- data/lib/generators/bootstrap/templates/devise/slim/shared/_links.html.slim +19 -0
- data/lib/generators/bootstrap/templates/devise/slim/unlocks/new.html.slim.tt +14 -0
- metadata +66 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 185e70ce73dc0dfc077725fdde0938b53127a4cdbb27e7480f77465733dd15ec
|
|
4
|
+
data.tar.gz: ac4028174ecec96256475d87a77ebd2cbcc76aa4c2552b67a95f16a25f068511
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ed7c45f77367701ed0c7bdeafbdf8fb475538c1eb9df441e035692679fdf691cf9faea991a9a6ed3c92a69c4828c4bdbebfb4002b49017134f5c5a12c9937756
|
|
7
|
+
data.tar.gz: 886e65054e96476bae62675a25060be2d7f7a1501a3070e4ed8b907319d085dc5a88d7a2bf47f99a786d28af6793357e28438869dc5f7d951571e8a9b371caf2
|
data/README.md
CHANGED
|
@@ -44,6 +44,8 @@ Options:
|
|
|
44
44
|
# Default: false
|
|
45
45
|
--layout # Over-write your application layout file with a bootstrap based layout
|
|
46
46
|
# Default: false
|
|
47
|
+
--devise # If you want to generate bootstrap based devise views
|
|
48
|
+
# Default: false
|
|
47
49
|
```
|
|
48
50
|
|
|
49
51
|
## Options
|
|
@@ -106,6 +108,10 @@ Generate bootstrap views with slim and using simple_form
|
|
|
106
108
|
rails g bootstrap:install --template_engine=slim --simpleform
|
|
107
109
|
```
|
|
108
110
|
|
|
111
|
+
Generate bootstrap scaffolds, devise views, while using simpleform, metatags, and slim template engine.
|
|
112
|
+
```shell
|
|
113
|
+
rails g bootstrap:install --devise --simpleform --metatags --template_engine=slim
|
|
114
|
+
```
|
|
109
115
|
### Extras
|
|
110
116
|
|
|
111
117
|
* If you like to use the [meta-tags](https://github.com/kpumuk/meta-tags) gem to add page titles based on the views.
|
data/bin/console
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
|
|
3
|
-
require
|
|
4
|
-
require
|
|
3
|
+
require 'bundler/setup'
|
|
4
|
+
require 'bootstrap_views_generator'
|
|
5
5
|
|
|
6
6
|
# You can add fixtures and/or initialization code here to make experimenting
|
|
7
7
|
# with your gem easier. You can also use a different console, if you like.
|
|
@@ -29,6 +29,7 @@ Gem::Specification.new do |spec|
|
|
|
29
29
|
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
|
30
30
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
31
31
|
end
|
|
32
|
+
# spec.files = Dir.glob("{bin,lib}/**/*") # Used when building the gem locally (before commiting and pushing the gem publically)
|
|
32
33
|
spec.bindir = 'exe'
|
|
33
34
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
34
35
|
spec.require_paths = ['lib']
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
require 'rails/generators'
|
|
2
|
+
|
|
3
|
+
module Bootstrap
|
|
4
|
+
module Generators
|
|
5
|
+
class DeviseGenerator < ::Rails::Generators::Base
|
|
6
|
+
hide!
|
|
7
|
+
desc 'Overwrite default devise views'
|
|
8
|
+
source_root ::File.expand_path('../templates/devise', __FILE__)
|
|
9
|
+
|
|
10
|
+
class_option :template_engine, type: :string, default: 'erb', aliases: '-t', desc: 'Set template engine to generate the views with'
|
|
11
|
+
class_option :metatags, type: :boolean, default: false, aliases: "-m", desc: 'If views will assign pages title using metatags gem'
|
|
12
|
+
class_option :simpleform, type: :boolean, default: false, aliases: '-sf', desc: 'Enable SimpleForms for the form generating'
|
|
13
|
+
|
|
14
|
+
def copy_confirmation
|
|
15
|
+
template "#{file_template_location('confirmations/new')}.tt", "app/views/devise/confirmations/new.html.#{options[:template_engine]}"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def copy_mailers
|
|
19
|
+
directory "#{options[:template_engine]}/mailer", 'app/views/devise/mailer'
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def copy_passwords
|
|
23
|
+
%i[edit new].map do |file|
|
|
24
|
+
template "#{file_template_location("passwords/#{file}")}.tt", "app/views/devise/passwords/#{file}.html.#{options[:template_engine]}"
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def copy_registrations
|
|
29
|
+
%i[edit new].map do |file|
|
|
30
|
+
template "#{file_template_location("registrations/#{file}")}.tt", "app/views/devise/registrations/#{file}.html.#{options[:template_engine]}"
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def copy_sessions
|
|
35
|
+
template "#{file_template_location('sessions/new')}.tt", "app/views/devise/sessions/new.html.#{options[:template_engine]}"
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def copy_unlock
|
|
39
|
+
template "#{options[:template_engine]}/unlocks/new.html.#{options[:template_engine]}.tt", "app/views/devise/unlocks/new.html.#{options[:template_engine]}"
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Copy shared files that have no meta-tags or template associated with them
|
|
43
|
+
def copy_shared
|
|
44
|
+
directory "#{options[:template_engine]}/shared", 'app/views/devise/shared'
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
private
|
|
48
|
+
def file_template_location(file_location = '')
|
|
49
|
+
return '' if file_location.blank?
|
|
50
|
+
# Dpending if simpleform is to be used, it will return a path similar to one of the following:
|
|
51
|
+
# => slim/unlocks/new.html.slim || simple_form/slim/unlocks/new.html.slim
|
|
52
|
+
"#{simple_path}#{options[:template_engine]}/#{file_location}.html.#{options[:template_engine]}"
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# If simpleform is going ot be used with the forms return a simple_form path
|
|
56
|
+
def simple_path
|
|
57
|
+
options[:simpleform] ? 'simple_form/' : ''
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require 'rails/generators'
|
|
2
|
+
require_relative 'devise_generator'
|
|
2
3
|
|
|
3
4
|
module Bootstrap
|
|
4
5
|
module Generators
|
|
@@ -8,6 +9,7 @@ module Bootstrap
|
|
|
8
9
|
|
|
9
10
|
class_option :template_engine, type: :string, default: 'erb', aliases: '-t', desc: 'Set template engine to generate the views with'
|
|
10
11
|
# Boolean flags that can be flagged by adding to the generator call ie: --pagination or --metag_tags
|
|
12
|
+
class_option :devise, type: :boolean, default: false, desc: 'If views for devise will be required by the generator'
|
|
11
13
|
class_option :layout, type: :boolean, default: false, aliases: "-l", desc: 'Over-write your application layout file with a bootstrap based layout'
|
|
12
14
|
class_option :metatags, type: :boolean, default: false, aliases: "-m", desc: 'If views will assign pages title using metatags gem'
|
|
13
15
|
class_option :pagination, type: :boolean, default: false, aliases: '-p', desc: 'Toggle if pagination will be used with the index view/controller (based off of Pagy)'
|
|
@@ -74,9 +76,13 @@ module Bootstrap
|
|
|
74
76
|
end
|
|
75
77
|
end
|
|
76
78
|
HELPER
|
|
77
|
-
|
|
78
79
|
inject_into_file 'app/helpers/application_helper.rb', helper_str, after: "module ApplicationHelper\n"
|
|
79
80
|
end
|
|
81
|
+
|
|
82
|
+
def invoke_devise_generator
|
|
83
|
+
# Generate bootstrap based devise views if devise is being used
|
|
84
|
+
invoke('bootstrap:devise') if options[:devise]
|
|
85
|
+
end
|
|
80
86
|
end
|
|
81
87
|
end
|
|
82
88
|
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<div class="row">
|
|
2
|
+
<div class="col-lg-4 col-md-6 ml-auto mr-auto">
|
|
3
|
+
<%- if options[:metatags] %>
|
|
4
|
+
<h2 class="text-center"><%%= title('Resend confirmation instructions') %></h2>
|
|
5
|
+
<% else -%>
|
|
6
|
+
<h2 class="text-center">Resend confirmation instructions</h2>
|
|
7
|
+
<%- end %>
|
|
8
|
+
<%%= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| %>
|
|
9
|
+
<%%= render 'devise/shared/error_messages', resource: resource %>
|
|
10
|
+
<div class="form-group">
|
|
11
|
+
<%%= f.label :email %><br />
|
|
12
|
+
<%%= f.email_field :email, autofocus: true, class: 'form-control', value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email) %>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="form-group">
|
|
15
|
+
<%%= f.submit "Resend confirmation instructions", class: 'btn btn-primary btn-lg btn-block' %>
|
|
16
|
+
</div>
|
|
17
|
+
<%% end %>
|
|
18
|
+
<div class="text-center">
|
|
19
|
+
<%%= render 'devise/shared/links' %>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<p>Hello <%= @email %>!</p>
|
|
2
|
+
|
|
3
|
+
<% if @resource.try(:unconfirmed_email?) %>
|
|
4
|
+
<p>We're contacting you to notify you that your email is being changed to <%= @resource.unconfirmed_email %>.</p>
|
|
5
|
+
<% else %>
|
|
6
|
+
<p>We're contacting you to notify you that your email has been changed to <%= @resource.email %>.</p>
|
|
7
|
+
<% end %>
|
data/lib/generators/bootstrap/templates/devise/erb/mailer/reset_password_instructions.html.erb
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<p>Hello <%= @resource.email %>!</p>
|
|
2
|
+
|
|
3
|
+
<p>Someone has requested a link to change your password. You can do this through the link below.</p>
|
|
4
|
+
|
|
5
|
+
<p><%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %></p>
|
|
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>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<p>Hello <%= @resource.email %>!</p>
|
|
2
|
+
|
|
3
|
+
<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
|
|
4
|
+
|
|
5
|
+
<p>Click the link below to unlock your account:</p>
|
|
6
|
+
|
|
7
|
+
<p><%= link_to 'Unlock my account', unlock_url(@resource, unlock_token: @token) %></p>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<%- if options[:metatags] %>
|
|
2
|
+
<h2 class="text-center"><%%= title('Change your password') %></h2>
|
|
3
|
+
<% else -%>
|
|
4
|
+
<h2 class="text-center">Change your password</h2>
|
|
5
|
+
<%- end %>
|
|
6
|
+
<%%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| %>
|
|
7
|
+
<%%= render "devise/shared/error_messages", resource: resource %>
|
|
8
|
+
<%%= f.hidden_field :reset_password_token %>
|
|
9
|
+
|
|
10
|
+
<div class="field">
|
|
11
|
+
<%%= f.label :password, "New password" %><br />
|
|
12
|
+
<%% if @minimum_password_length %>
|
|
13
|
+
<em>(<%%= @minimum_password_length %> characters minimum)</em><br />
|
|
14
|
+
<%% end %>
|
|
15
|
+
<%%= f.password_field :password, autofocus: true, autocomplete: "new-password" %>
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
<div class="field">
|
|
19
|
+
<%%= f.label :password_confirmation, "Confirm new password" %><br />
|
|
20
|
+
<%%= f.password_field :password_confirmation, autocomplete: "off" %>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<div class="form-group">
|
|
24
|
+
<%%= f.submit "Change my password" %>
|
|
25
|
+
</div>
|
|
26
|
+
<%% end %>
|
|
27
|
+
<%%= render "devise/shared/links" %>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<div class="row">
|
|
2
|
+
<div class="col-lg-4 col-md-6 ml-auto mr-auto">
|
|
3
|
+
<%- if options[:metatags] %>
|
|
4
|
+
<h2 class="text-center"><%%= title('Forgot your password?') %></h2>
|
|
5
|
+
<% else -%>
|
|
6
|
+
<h2 class="text-center">Forgot your password?</h2>
|
|
7
|
+
<%- end %>
|
|
8
|
+
|
|
9
|
+
<%%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| %>
|
|
10
|
+
<%%= render "devise/shared/error_messages", resource: resource %>
|
|
11
|
+
<br>
|
|
12
|
+
<p class="text-left">Please enter your email address and we will send you a link to reset your password.</p>
|
|
13
|
+
<div class="form-group">
|
|
14
|
+
<%%= f.email_field :email, autofocus: true, placeholder: 'Email Address', class: 'form-control' %>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<div class="form-group">
|
|
18
|
+
<%%= f.submit 'Send me reset password instructions', class: 'btn btn-primary btn-block btn-lg' %>
|
|
19
|
+
</div>
|
|
20
|
+
<%% end %>
|
|
21
|
+
<div class="text-center">
|
|
22
|
+
<%%= render 'devise/shared/links' %>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<div class="row">
|
|
2
|
+
<div class="col-lg-4 col-md-6 ml-auto mr-auto">
|
|
3
|
+
<%- if options[:metatags] %>
|
|
4
|
+
<h2 class="text-center"><%%= title("Edit #{resource_name.to_s.humanize}") %></h2>
|
|
5
|
+
<% else -%>
|
|
6
|
+
<h2 class="text-center">Edit <%%= resource_name.to_s.humanize %></h2>
|
|
7
|
+
<%- end %>
|
|
8
|
+
<hr>
|
|
9
|
+
<%%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
|
|
10
|
+
<%%= render "devise/shared/error_messages", resource: resource %>
|
|
11
|
+
<div class="form-group">
|
|
12
|
+
<%%= f.label :email %><br />
|
|
13
|
+
<%%= f.email_field :email, class: 'form-control' %>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<%% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
|
|
17
|
+
<div>Currently waiting confirmation for: <%%= resource.unconfirmed_email %></div>
|
|
18
|
+
<%% end %>
|
|
19
|
+
|
|
20
|
+
<div class="form-group">
|
|
21
|
+
<%%= f.label :password %> <i>(Leave blank if you don't want to change it)</i><br />
|
|
22
|
+
<%%= f.password_field :password, autocomplete: 'off', class: 'form-control' %>
|
|
23
|
+
</div>
|
|
24
|
+
<div class="form-group">
|
|
25
|
+
<%%= f.label :password_confirmation %><br />
|
|
26
|
+
<%%= f.password_field :password_confirmation, autocomplete: 'off', class: 'form-control' %>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="form-group">
|
|
29
|
+
<%%= f.label :current_password %> <i>(We need your current password to confirm your changes)</i><br />
|
|
30
|
+
<%%= f.password_field :current_password, autocomplete: 'off', class: 'form-control' %>
|
|
31
|
+
</div>
|
|
32
|
+
<div class="form-group">
|
|
33
|
+
<%%= f.submit "Update", class: 'btn btn-lg btn-block btn-primary' %>
|
|
34
|
+
</div>
|
|
35
|
+
<%% end %>
|
|
36
|
+
<hr>
|
|
37
|
+
<h2>Cancel my account</h2>
|
|
38
|
+
<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>
|
|
39
|
+
<%%= link_to "Back", :back %>
|
|
40
|
+
<hr>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<div class="row">
|
|
2
|
+
<div class="col-lg-4 col-md-6 ml-auto mr-auto">
|
|
3
|
+
<%- if options[:metatags] %>
|
|
4
|
+
<h2 class="text-center"><%%= title('Sign Up') %></h2>
|
|
5
|
+
<% else -%>
|
|
6
|
+
<h2 class="text-center">Sign Up</h2>
|
|
7
|
+
<%- end %>
|
|
8
|
+
|
|
9
|
+
<%%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
|
|
10
|
+
<%%= render 'devise/shared/error_messages', resource: resource %>
|
|
11
|
+
<div class="form-group">
|
|
12
|
+
<%%= f.email_field :email, autofocus: false, class: 'form-control', placeholder: 'Email Address' %>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="form-group">
|
|
15
|
+
<%%= f.password_field :password, autocomplete: 'off', class: 'form-control', placeholder: 'Password' %>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="form-group">
|
|
18
|
+
<%%= f.password_field :password_confirmation, autocomplete: 'off', class: 'form-control', placeholder: 'Confirm Password' %>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="form-group">
|
|
21
|
+
<%%= f.submit 'Sign up', class: 'btn btn-primary btn-block btn-lg' %>
|
|
22
|
+
</div>
|
|
23
|
+
<%% end %>
|
|
24
|
+
<div class="text-center">
|
|
25
|
+
<%%= render 'devise/shared/links' %>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<div class="row">
|
|
2
|
+
<div class="col-lg-4 col-md-6 ml-auto mr-auto">
|
|
3
|
+
<%- if options[:metatags] %>
|
|
4
|
+
<h2 class="text-center"><%%= title('Log In') %></h2>
|
|
5
|
+
<% else -%>
|
|
6
|
+
<h2 class="text-center">Log in</h2>
|
|
7
|
+
<%- end %>
|
|
8
|
+
<%%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
|
|
9
|
+
<div class="form-group">
|
|
10
|
+
<%%= f.email_field :email, autofocus: true, placeholder: 'Email Address', class: 'form-control' %>
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
<div class="form-group">
|
|
14
|
+
<%%= f.password_field :password, autocomplete: 'off', placeholder: 'Password', class: 'form-control' %>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<%% if devise_mapping.rememberable? -%>
|
|
18
|
+
<div class="form-check">
|
|
19
|
+
<label class="form-check-label">
|
|
20
|
+
<%%= f.check_box :remember_me, class: 'form-check-input' %>
|
|
21
|
+
Remember me
|
|
22
|
+
</label>
|
|
23
|
+
</div>
|
|
24
|
+
<%% end -%>
|
|
25
|
+
|
|
26
|
+
<div class="form-group">
|
|
27
|
+
<%%= f.submit 'Log in', class: 'btn btn-primary btn-block btn-lg' %>
|
|
28
|
+
</div>
|
|
29
|
+
<%% end %>
|
|
30
|
+
<div class="text-center">
|
|
31
|
+
<%%= render "devise/shared/links" %>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
</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 %>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<%- if controller_name != 'sessions' %>
|
|
2
|
+
<%= link_to "Log in", new_session_path(resource_name) %><br />
|
|
3
|
+
<% end -%>
|
|
4
|
+
|
|
5
|
+
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
|
|
6
|
+
<%= link_to "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 "Forgot your password?", new_password_path(resource_name) %><br />
|
|
11
|
+
<% end -%>
|
|
12
|
+
|
|
13
|
+
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
|
|
14
|
+
<%= link_to "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 "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 "Sign in with #{OmniAuth::Utils.camelize(provider)}", omniauth_authorize_path(resource_name, provider) %><br />
|
|
24
|
+
<% end -%>
|
|
25
|
+
<% end -%>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<%- if options[:metatags] %>
|
|
2
|
+
<h2 class="text-center"><%%= title("Resend unlock instructions") %></h2>
|
|
3
|
+
<% else -%>
|
|
4
|
+
<h2 class="text-center">Resend unlock instructions</h2>
|
|
5
|
+
<%- end %>
|
|
6
|
+
<%%= form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f| %>
|
|
7
|
+
<%%= render "devise/shared/error_messages", resource: resource %>
|
|
8
|
+
|
|
9
|
+
<div class="field">
|
|
10
|
+
<%%= f.label :email %><br />
|
|
11
|
+
<%%= f.email_field :email, autofocus: true, autocomplete: "email" %>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
<div class="form-group">
|
|
15
|
+
<%%= f.submit "Resend unlock instructions" %>
|
|
16
|
+
</div>
|
|
17
|
+
<%% end %>
|
|
18
|
+
<%%= render "devise/shared/links" %>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
.row
|
|
2
|
+
.col-lg-4.col-md-6.ml-auto.mr-auto
|
|
3
|
+
<%- if options[:metatags] %>
|
|
4
|
+
%h2.text-center= title('Resend confirmation instructions')
|
|
5
|
+
<% else -%>
|
|
6
|
+
%h2.text-center Resend confirmation instructions
|
|
7
|
+
<%- end %>
|
|
8
|
+
= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f|
|
|
9
|
+
= render "devise/shared/error_messages", resource: resource
|
|
10
|
+
.form-group
|
|
11
|
+
= f.label :email
|
|
12
|
+
%br
|
|
13
|
+
= f.email_field :email, autofocus: true, class: 'form-control', value: (resource.pending_reconfirmation? ? resource.unconfirmed_email : resource.email)
|
|
14
|
+
.form-group
|
|
15
|
+
= f.submit "Resend confirmation instructions", class: 'btn btn-primary btn-lg btn-block'
|
|
16
|
+
.text-center
|
|
17
|
+
= render "devise/shared/links"
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
%p Hello #{@email}!
|
|
2
|
+
- if @resource.try(:unconfirmed_email?)
|
|
3
|
+
%p
|
|
4
|
+
We're contacting you to notify you that your email is being changed to #{@resource.unconfirmed_email}.
|
|
5
|
+
- else
|
|
6
|
+
%p
|
|
7
|
+
We're contacting you to notify you that your email has been changed to #{@resource.email}.
|
data/lib/generators/bootstrap/templates/devise/haml/mailer/reset_password_instructions.html.haml
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
%p Hello #{@resource.email}!
|
|
2
|
+
%p Someone has requested a link to change your password. You can do this through the link below.
|
|
3
|
+
%p= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token)
|
|
4
|
+
%p If you didn't request this, please ignore this email.
|
|
5
|
+
%p Your password won't change until you access the link above and create a new one.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<%- if options[:metatags] %>
|
|
2
|
+
%h2.text-center= title('Change your password')
|
|
3
|
+
<% else -%>
|
|
4
|
+
%h2.text-center Change your password
|
|
5
|
+
<%- end %>
|
|
6
|
+
= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f|
|
|
7
|
+
= render 'devise/shared/error_messages', resource: resource
|
|
8
|
+
= f.hidden_field :reset_password_token
|
|
9
|
+
.field
|
|
10
|
+
= f.label :password, 'New password'
|
|
11
|
+
%br
|
|
12
|
+
- if @minimum_password_length
|
|
13
|
+
%em
|
|
14
|
+
(#{@minimum_password_length} characters minimum)
|
|
15
|
+
%br
|
|
16
|
+
= f.password_field :password, autofocus: true, autocomplete: 'new-password'
|
|
17
|
+
.field
|
|
18
|
+
= f.label :password_confirmation, 'Confirm new password'
|
|
19
|
+
%br
|
|
20
|
+
= f.password_field :password_confirmation, autocomplete: 'off'
|
|
21
|
+
.form-group
|
|
22
|
+
= f.submit 'Change my password'
|
|
23
|
+
= render 'devise/shared/links'
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
.row
|
|
2
|
+
.col-lg-4.col-md-6.ml-auto.mr-auto
|
|
3
|
+
<%- if options[:metatags] %>
|
|
4
|
+
%h2.text-center= title('Forgot your password?')
|
|
5
|
+
<% else -%>
|
|
6
|
+
%h2.text-center Forgot your password?
|
|
7
|
+
<%- end %>
|
|
8
|
+
= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f|
|
|
9
|
+
= render 'devise/shared/error_messages', resource: resource
|
|
10
|
+
%br
|
|
11
|
+
%p.text-left Please enter your email address and we will send you a link to reset your password.
|
|
12
|
+
.form-group
|
|
13
|
+
= f.email_field :email, autofocus: true, placeholder: 'Email Address', class: 'form-control'
|
|
14
|
+
.form-group
|
|
15
|
+
= f.submit 'Send me reset password instructions', class: 'btn btn-primary btn-block btn-lg'
|
|
16
|
+
.text-center
|
|
17
|
+
= render 'devise/shared/links'
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
.row
|
|
2
|
+
.col-lg-4.col-md-6.ml-auto.mr-auto
|
|
3
|
+
<%- if options[:metatags] %>
|
|
4
|
+
%h2.text-center= title("Edit #{resource_name.to_s.humanize}")
|
|
5
|
+
<% else -%>
|
|
6
|
+
%h2.text-center Edit #{resource_name.to_s.humanize}
|
|
7
|
+
<%- end %>
|
|
8
|
+
%hr
|
|
9
|
+
= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f|
|
|
10
|
+
= render "devise/shared/error_messages", resource: resource
|
|
11
|
+
.form-group
|
|
12
|
+
= f.label :email
|
|
13
|
+
%br
|
|
14
|
+
= f.email_field :email, class: 'form-control'
|
|
15
|
+
- if devise_mapping.confirmable? && resource.pending_reconfirmation?
|
|
16
|
+
%div
|
|
17
|
+
Currently waiting confirmation for: #{resource.unconfirmed_email}
|
|
18
|
+
.form-group
|
|
19
|
+
= f.label :password
|
|
20
|
+
%i (Leave blank if you don't want to change it)
|
|
21
|
+
%br
|
|
22
|
+
= f.password_field :password, autocomplete: "off", class: 'form-control'
|
|
23
|
+
.form-group
|
|
24
|
+
= f.label :password_confirmation
|
|
25
|
+
%br
|
|
26
|
+
= f.password_field :password_confirmation, autocomplete: "off", class: 'form-control'
|
|
27
|
+
.form-group
|
|
28
|
+
= f.label :current_password
|
|
29
|
+
%i (We need your current password to confirm your changes)
|
|
30
|
+
%br
|
|
31
|
+
= f.password_field :current_password, autocomplete: "off", class: 'form-control'
|
|
32
|
+
.form-group
|
|
33
|
+
= f.submit "Update", class: 'btn btn-lg btn-block btn-primary'
|
|
34
|
+
%hr
|
|
35
|
+
%h2 Cancel my account
|
|
36
|
+
%p
|
|
37
|
+
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}
|
|
38
|
+
= link_to "Back", :back
|
|
39
|
+
%hr
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
.row
|
|
2
|
+
.col-lg-4.col-md-6.ml-auto.mr-auto
|
|
3
|
+
<%- if options[:metatags] %>
|
|
4
|
+
%h2.text-center= title("Sign Up")
|
|
5
|
+
<% else -%>
|
|
6
|
+
%h2.text-center Sign Up
|
|
7
|
+
<%- end %>
|
|
8
|
+
= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
|
|
9
|
+
= render 'devise/shared/error_messages', resource: resource
|
|
10
|
+
.form-group
|
|
11
|
+
= f.email_field :email, autofocus: false, class: 'form-control', placeholder: 'Email Address'
|
|
12
|
+
.form-group
|
|
13
|
+
= f.password_field :password, autocomplete: 'off', class: 'form-control', placeholder: 'Password'
|
|
14
|
+
.form-group
|
|
15
|
+
= f.password_field :password_confirmation, autocomplete: 'off', class: 'form-control', placeholder: 'Confirm Password'
|
|
16
|
+
.form-group
|
|
17
|
+
= f.submit 'Sign up', class: 'btn btn-primary btn-block btn-lg'
|
|
18
|
+
.text-center
|
|
19
|
+
= render 'devise/shared/links'
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
.row
|
|
2
|
+
.col-lg-4.col-md-6.ml-auto.mr-auto
|
|
3
|
+
<%- if options[:metatags] %>
|
|
4
|
+
%h2.text-center= title("Log in")
|
|
5
|
+
<% else -%>
|
|
6
|
+
%h2.text-center Log in
|
|
7
|
+
<%- end %>
|
|
8
|
+
= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f|
|
|
9
|
+
.form-group
|
|
10
|
+
= f.email_field :email, autofocus: true, placeholder: 'Email Address', class: 'form-control'
|
|
11
|
+
.form-group
|
|
12
|
+
= f.password_field :password, autocomplete: 'off', placeholder: 'Password', class: 'form-control'
|
|
13
|
+
- if devise_mapping.rememberable?
|
|
14
|
+
.form-check
|
|
15
|
+
%label.form-check-label
|
|
16
|
+
= f.check_box :remember_me, class: 'form-check-input'
|
|
17
|
+
Remember me
|
|
18
|
+
.form-group
|
|
19
|
+
= f.submit 'Log in', class: 'btn btn-primary btn-block btn-lg'
|
|
20
|
+
.text-center
|
|
21
|
+
= render 'devise/shared/links'
|