volt-user_templates 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/app/user_templates/controllers/account_controller.rb +16 -0
- data/app/user_templates/controllers/login_controller.rb +6 -2
- data/app/user_templates/controllers/signup_controller.rb +8 -4
- data/app/user_templates/tasks/user_template_tasks.rb +13 -1
- data/app/user_templates/views/account/index.html +26 -0
- data/app/user_templates/views/login/index.html +1 -1
- data/app/user_templates/views/mailers/forgot.email +2 -2
- data/volt-user_templates.gemspec +1 -1
- metadata +7 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62412eb3bb8518f0265635d4e9eb5be024d41a7c
|
4
|
+
data.tar.gz: 90f2ce74a486c78799acc24dc900a6bbd79e9374
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54015581a0c66f3b80afd0917a2815e691afeb2623747deb7f03953542488abf037a36b66e4283a0cb19fa4d69c3537b7255123c6220809201da3ebaa00cb2b5
|
7
|
+
data.tar.gz: 08917295aeff55475203165c7104b93003bf266835a9aa354c58037d24287262e5cd25247c0069189fdbdae7869ec2ca41dd414c44588475bf3556dd7cb7182b
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module UserTemplates
|
2
|
+
class AccountController < Volt::ModelController
|
3
|
+
before_action :require_login
|
4
|
+
|
5
|
+
def index
|
6
|
+
self.model = Volt.fetch_current_user.then(&:buffer)
|
7
|
+
end
|
8
|
+
|
9
|
+
def save
|
10
|
+
model.save! do
|
11
|
+
flash._notices << 'Account settings saved'
|
12
|
+
redirect_to '/'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -6,13 +6,13 @@ module UserTemplates
|
|
6
6
|
reactive_accessor :reset_email
|
7
7
|
|
8
8
|
def do_login
|
9
|
-
Volt.login(login, password).then do
|
9
|
+
Volt.login(login, password).then do |res|
|
10
10
|
# Successful login, clear out the form
|
11
11
|
self.errors = nil
|
12
12
|
self.login = ''
|
13
13
|
self.password = ''
|
14
14
|
|
15
|
-
|
15
|
+
after_login
|
16
16
|
|
17
17
|
nil
|
18
18
|
end.fail do |errors|
|
@@ -21,6 +21,10 @@ module UserTemplates
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
+
def after_login
|
25
|
+
redirect_to(attrs.post_login_url || '/')
|
26
|
+
end
|
27
|
+
|
24
28
|
def forgot_url
|
25
29
|
url_for(component: 'user_templates', controller: 'login', action: 'forgot')
|
26
30
|
end
|
@@ -12,12 +12,9 @@ module UserTemplates
|
|
12
12
|
save!.then do |result|
|
13
13
|
flash._notices << "Signup successful"
|
14
14
|
|
15
|
-
post_signup_url = attrs.post_signup_url || '/'
|
16
|
-
|
17
15
|
# On a successful signup, then login
|
18
16
|
Volt.login(login, password).then do
|
19
|
-
|
20
|
-
redirect_to post_signup_url
|
17
|
+
after_signup
|
21
18
|
end.fail do |errors|
|
22
19
|
# Show the error (probably only the server goes down)
|
23
20
|
flash._errors << errors.to_s
|
@@ -27,6 +24,13 @@ module UserTemplates
|
|
27
24
|
end
|
28
25
|
end
|
29
26
|
|
27
|
+
def after_signup
|
28
|
+
post_signup_url = attrs.post_signup_url || '/'
|
29
|
+
|
30
|
+
# Redirect to post signup url
|
31
|
+
redirect_to post_signup_url
|
32
|
+
end
|
33
|
+
|
30
34
|
def use_username?
|
31
35
|
Volt.config.public.try(:auth).try(:use_username)
|
32
36
|
end
|
@@ -1,10 +1,22 @@
|
|
1
|
+
require 'digest'
|
2
|
+
|
1
3
|
class UserTemplateTasks < Volt::Task
|
4
|
+
def password_reset_token(user_id)
|
5
|
+
Digest::SHA256.hexdigest("#{user_id}||#{Volt.config.app_secret}")
|
6
|
+
end
|
7
|
+
|
2
8
|
def send_reset_email(email)
|
3
9
|
# Find user by e-mail
|
4
10
|
Volt.skip_permissions do
|
5
11
|
store._users.where(email: email).fetch_first do |user|
|
6
12
|
if user
|
7
|
-
|
13
|
+
reset_token = password_reset_token(user.id)
|
14
|
+
|
15
|
+
reset_url = "http://#{Volt.config.domain}/#{reset_token}"
|
16
|
+
|
17
|
+
Mailer.deliver('user_templates/mailers/forgot',
|
18
|
+
{to: email, name: user._name, reset_url: reset_url}
|
19
|
+
)
|
8
20
|
else
|
9
21
|
raise "There is no account with the e-mail of #{email}."
|
10
22
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<:Title>
|
2
|
+
Your Account
|
3
|
+
|
4
|
+
<:Body>
|
5
|
+
<div class="row">
|
6
|
+
<div class="col-md-6 col-md-offset-3">
|
7
|
+
<div class="span4 offset4 well">
|
8
|
+
<legend>Basic Info</legend>
|
9
|
+
|
10
|
+
<form e-submit="save">
|
11
|
+
<:fields:text value="{{ _name }}" />
|
12
|
+
<:fields:textarea value="{{ _bio }}" />
|
13
|
+
<button class="btn btn-info btn-block">Save</button>
|
14
|
+
</form>
|
15
|
+
|
16
|
+
</div>
|
17
|
+
<hr />
|
18
|
+
<div class="span4 offset4 well">
|
19
|
+
<legend>Update Password</legend>
|
20
|
+
<form e-submit="save">
|
21
|
+
<:fields:text type="password" value="{{ _password }}" />
|
22
|
+
<button class="btn btn-info btn-block">Save</button>
|
23
|
+
</form>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
</div>
|
@@ -24,7 +24,7 @@
|
|
24
24
|
</div>
|
25
25
|
|
26
26
|
<div class="form-group">
|
27
|
-
<label class="control-label">Password <small style="font-weight: normal;">(<a href="{{ forgot_url }}">forgot password</a>)</small></label>
|
27
|
+
<label class="control-label">Password <small style="font-weight: normal;">(<a tabindex="-1" href="{{ forgot_url }}">forgot password</a>)</small></label>
|
28
28
|
<input class="form-control" type="password" value="{{ password }}">
|
29
29
|
</div>
|
30
30
|
|
@@ -20,7 +20,7 @@
|
|
20
20
|
<h1 style="font-size: 20px; margin: 0; color: #333;"> Hello {{ name }}, </h1>
|
21
21
|
<p style="font: 15px/1.25em 'Helvetica Neue', Arial, Helvetica; color: #333;"> We heard you needed to reset your password. Click the button below and you'll be redirected to a page where you can reset your password.</p>
|
22
22
|
<p style="font: 15px/1.25em 'Helvetica Neue', Arial, Helvetica; margin-bottom: 0; text-align: center; color: #333;">
|
23
|
-
<a href="" style="border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; background: #5cb85c; color: #fff; cursor: pointer; display: block; font-weight: 700; font-size: 16px; line-height: 1.25em; margin: 24px auto 24px; padding: 10px 18px; text-decoration: none; width: 180px; text-align: center;"> Reset Password </a>
|
23
|
+
<a href="{{ reset_url }}" style="border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; background: #5cb85c; color: #fff; cursor: pointer; display: block; font-weight: 700; font-size: 16px; line-height: 1.25em; margin: 24px auto 24px; padding: 10px 18px; text-decoration: none; width: 180px; text-align: center;"> Reset Password </a>
|
24
24
|
</p>
|
25
25
|
</td>
|
26
26
|
</tr>
|
@@ -38,4 +38,4 @@ Hey {{ name }},
|
|
38
38
|
|
39
39
|
We heard you needed to reset your password. Go to the following url to reset your password:
|
40
40
|
|
41
|
-
|
41
|
+
{{ reset_url }}
|
data/volt-user_templates.gemspec
CHANGED
@@ -20,6 +20,6 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
22
|
spec.add_dependency "volt-fields", "~> 0.1.0"
|
23
|
-
spec.add_dependency "volt-mailer", "~> 0.0
|
23
|
+
spec.add_dependency "volt-mailer", "~> 0.1.0"
|
24
24
|
spec.add_development_dependency "rake"
|
25
25
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: volt-user_templates
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Stout
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: volt-fields
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.0
|
33
|
+
version: 0.1.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.0
|
40
|
+
version: 0.1.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,10 +66,12 @@ files:
|
|
66
66
|
- VERSION
|
67
67
|
- app/user_templates/config/dependencies.rb
|
68
68
|
- app/user_templates/config/routes.rb
|
69
|
+
- app/user_templates/controllers/account_controller.rb
|
69
70
|
- app/user_templates/controllers/login_controller.rb
|
70
71
|
- app/user_templates/controllers/menu_controller.rb
|
71
72
|
- app/user_templates/controllers/signup_controller.rb
|
72
73
|
- app/user_templates/tasks/user_template_tasks.rb
|
74
|
+
- app/user_templates/views/account/index.html
|
73
75
|
- app/user_templates/views/login/forgot.html
|
74
76
|
- app/user_templates/views/login/index.html
|
75
77
|
- app/user_templates/views/mailers/forgot.email
|
@@ -97,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
99
|
version: '0'
|
98
100
|
requirements: []
|
99
101
|
rubyforge_project:
|
100
|
-
rubygems_version: 2.
|
102
|
+
rubygems_version: 2.4.5
|
101
103
|
signing_key:
|
102
104
|
specification_version: 4
|
103
105
|
summary: Volt user templates provide out of the box templates for users to signup,
|