volt-user-templates 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/README.md +60 -0
- data/Rakefile +1 -0
- data/VERSION +1 -0
- data/app/user-templates/config/dependencies.rb +2 -0
- data/app/user-templates/config/routes.rb +1 -0
- data/app/user-templates/controllers/login_controller.rb +29 -0
- data/app/user-templates/controllers/menu_controller.rb +8 -0
- data/app/user-templates/controllers/signup_controller.rb +25 -0
- data/app/user-templates/views/login/index.html +39 -0
- data/app/user-templates/views/menu/index.html +25 -0
- data/app/user-templates/views/signup/index.html +27 -0
- data/lib/volt/user/templates.rb +9 -0
- data/volt-user-templates.gemspec +24 -0
- metadata +88 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 36034976bc2df09e8899d2b4906c1870e5fc0b99
|
4
|
+
data.tar.gz: 21b82dd942bec3d470f1f82039fa45c527dc4b0b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7b5c496f8a0ae3718908822843d5e6bd5d6c55813cd802aa0fcdc6b7ce5feadebc35d653683cd6b7a308ff66099488b9d1c6cec28b8121769b428eef555109d8
|
7
|
+
data.tar.gz: 6ae40c51bffd2bff3643b77e6e34e4a5aa950aa22aba572844ae9cdb35962c2214766f26d37f73b882fcefb9db2646c718458ec9750db53d36f5045b93eab338
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
# Volt User Templates
|
2
|
+
|
3
|
+
Volt user templates provide out of the box templates for users to signup, login, and logout. (Forgot password coming soon)
|
4
|
+
|
5
|
+
## Install
|
6
|
+
|
7
|
+
volt-user-templates now ships with volt, but if you have removed it, you can add it back with the following:
|
8
|
+
|
9
|
+
In your Gemfile, put:
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
gem 'volt-user-templates'
|
13
|
+
```
|
14
|
+
|
15
|
+
Then in any component you want to use the templates in, add the following to config/dependencies.rb
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
component 'user-templates'
|
19
|
+
```
|
20
|
+
|
21
|
+
## Use
|
22
|
+
|
23
|
+
You can use volt-user-template two different ways.
|
24
|
+
|
25
|
+
1) You can add routes for it's templates
|
26
|
+
|
27
|
+
Add the following to your main components route file:
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
get '/signup', _controller: 'user-templates', _action: 'signup'
|
31
|
+
get '/login', _controller: 'user-templates', _action: 'login'
|
32
|
+
```
|
33
|
+
|
34
|
+
Now you can link to /signup and /login
|
35
|
+
|
36
|
+
2) You can include the templates as tags:
|
37
|
+
|
38
|
+
### Login
|
39
|
+
|
40
|
+
```html
|
41
|
+
<:user-templates:login post-login-url="/" />
|
42
|
+
```
|
43
|
+
|
44
|
+
The login template takes an optional post-login-url that will be redirected to after a successful login.
|
45
|
+
|
46
|
+
### Signup
|
47
|
+
|
48
|
+
```html
|
49
|
+
<:user-templates:signup post-signup-url="/" />
|
50
|
+
```
|
51
|
+
|
52
|
+
Signup takes an optional post-signup-url that will be redirected to after signup.
|
53
|
+
|
54
|
+
### Logout
|
55
|
+
|
56
|
+
volt-user-templates provides a nav bar tag that provides a login/logout link and shows the users name.
|
57
|
+
|
58
|
+
```html
|
59
|
+
<:user-templates:menu />
|
60
|
+
```
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.0.1
|
@@ -0,0 +1 @@
|
|
1
|
+
# Component routes
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module UserTemplates
|
2
|
+
class LoginController < Volt::ModelController
|
3
|
+
reactive_accessor :errors
|
4
|
+
reactive_accessor :login
|
5
|
+
reactive_accessor :password
|
6
|
+
|
7
|
+
def do_login
|
8
|
+
Volt.login(login, password).then do
|
9
|
+
# Successful login, clear out the form
|
10
|
+
self.errors = nil
|
11
|
+
self.login = ''
|
12
|
+
self.password = ''
|
13
|
+
|
14
|
+
go(attrs.post_login_url.or('/'))
|
15
|
+
|
16
|
+
nil
|
17
|
+
end.fail do |errors|
|
18
|
+
# Login fail
|
19
|
+
self.errors = errors
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def use_username?
|
24
|
+
auth = Volt.config.auth
|
25
|
+
auth && auth.use_username
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module UserTemplates
|
2
|
+
class SignupController < Volt::ModelController
|
3
|
+
def index
|
4
|
+
self.model = store._users.buffer
|
5
|
+
end
|
6
|
+
|
7
|
+
def signup
|
8
|
+
save!.then do |result|
|
9
|
+
flash._notices << "Signup successful"
|
10
|
+
|
11
|
+
post_signup_url = attrs.post_signup_url.or('/')
|
12
|
+
|
13
|
+
go post_signup_url
|
14
|
+
end.fail do |err|
|
15
|
+
puts "ERR: #{err.inspect}"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def use_username?
|
20
|
+
auth = Volt.config.auth
|
21
|
+
auth && auth.use_username
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<:Title>
|
2
|
+
Login
|
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>Please Login</legend>
|
9
|
+
|
10
|
+
<form e-submit="do_login">
|
11
|
+
{{ if errors.present? }}
|
12
|
+
<div class="alert alert-danger">{{ errors }}</div>
|
13
|
+
{{ end }}
|
14
|
+
|
15
|
+
<div class="form-group">
|
16
|
+
<label class="control-label">
|
17
|
+
{{ if use_username? }}
|
18
|
+
Username
|
19
|
+
{{ else }}
|
20
|
+
Email
|
21
|
+
{{ end }}
|
22
|
+
</label>
|
23
|
+
<input class="form-control" type="text" value="{{ login }}">
|
24
|
+
</div>
|
25
|
+
|
26
|
+
<div class="form-group">
|
27
|
+
<label class="control-label">Password</label>
|
28
|
+
<input class="form-control" type="password" value="{{ password }}">
|
29
|
+
</div>
|
30
|
+
|
31
|
+
<button class="btn btn-info btn-block">Login</button>
|
32
|
+
</form>
|
33
|
+
|
34
|
+
<hr />
|
35
|
+
Don't have an account? <a href="/signup">Signup here</a>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<:Body>
|
2
|
+
|
3
|
+
{{ if Volt.user }}
|
4
|
+
<li class="dropdown">
|
5
|
+
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
6
|
+
<span class="glyphicon glyphicon-user"></span>
|
7
|
+
{{ show_name }}
|
8
|
+
<span class="caret"></span>
|
9
|
+
</a>
|
10
|
+
<ul class="dropdown-menu" role="menu">
|
11
|
+
<li>
|
12
|
+
<a href="/account">Account</a>
|
13
|
+
</li>
|
14
|
+
<li class="divider"></li>
|
15
|
+
<li><a e-click="Volt.logout">Logout</a></li>
|
16
|
+
</ul>
|
17
|
+
</li>
|
18
|
+
{{ else }}
|
19
|
+
<li>
|
20
|
+
<a href="/login">
|
21
|
+
<span class="glyphicon glyphicon-user"></span>
|
22
|
+
Login
|
23
|
+
</a>
|
24
|
+
</li>
|
25
|
+
{{ end }}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<:Title>
|
2
|
+
Signup
|
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>Signup</legend>
|
9
|
+
|
10
|
+
<form e-submit="signup">
|
11
|
+
{{ if use_username? }}
|
12
|
+
<:fields:text value="{{ _username }}" />
|
13
|
+
{{ else }}
|
14
|
+
<:fields:text value="{{ _email }}" />
|
15
|
+
{{ end}}
|
16
|
+
<:fields:text type="password" value="{{ _password }}" />
|
17
|
+
<hr />
|
18
|
+
<:fields:text value="{{ _name }}" label="Full Name" />
|
19
|
+
|
20
|
+
<button class="btn btn-info btn-block">Signup</button>
|
21
|
+
<hr />
|
22
|
+
Already have an account? <a href="/login">Login here</a>
|
23
|
+
|
24
|
+
</form>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
</div>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
|
5
|
+
version = File.read(File.expand_path('../VERSION', __FILE__)).strip
|
6
|
+
|
7
|
+
|
8
|
+
Gem::Specification.new do |spec|
|
9
|
+
spec.name = "volt-user-templates"
|
10
|
+
spec.version = version
|
11
|
+
spec.authors = ["Ryan Stout"]
|
12
|
+
spec.email = ["ryanstout@gmail.com"]
|
13
|
+
spec.summary = %q{Volt user templates provide out of the box templates for users to signup, login, and logout. }
|
14
|
+
spec.homepage = ""
|
15
|
+
spec.license = "MIT"
|
16
|
+
|
17
|
+
spec.files = `git ls-files -z`.split("\x0")
|
18
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
19
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
|
+
spec.require_paths = ["lib"]
|
21
|
+
|
22
|
+
spec.add_dependency "volt-fields", "~> 0.0.10"
|
23
|
+
spec.add_development_dependency "rake"
|
24
|
+
end
|
metadata
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: volt-user-templates
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ryan Stout
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-11-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: volt-fields
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.0.10
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.0.10
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
description:
|
42
|
+
email:
|
43
|
+
- ryanstout@gmail.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- ".gitignore"
|
49
|
+
- Gemfile
|
50
|
+
- README.md
|
51
|
+
- Rakefile
|
52
|
+
- VERSION
|
53
|
+
- app/user-templates/config/dependencies.rb
|
54
|
+
- app/user-templates/config/routes.rb
|
55
|
+
- app/user-templates/controllers/login_controller.rb
|
56
|
+
- app/user-templates/controllers/menu_controller.rb
|
57
|
+
- app/user-templates/controllers/signup_controller.rb
|
58
|
+
- app/user-templates/views/login/index.html
|
59
|
+
- app/user-templates/views/menu/index.html
|
60
|
+
- app/user-templates/views/signup/index.html
|
61
|
+
- lib/volt/user/templates.rb
|
62
|
+
- volt-user-templates.gemspec
|
63
|
+
homepage: ''
|
64
|
+
licenses:
|
65
|
+
- MIT
|
66
|
+
metadata: {}
|
67
|
+
post_install_message:
|
68
|
+
rdoc_options: []
|
69
|
+
require_paths:
|
70
|
+
- lib
|
71
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '0'
|
81
|
+
requirements: []
|
82
|
+
rubyforge_project:
|
83
|
+
rubygems_version: 2.2.2
|
84
|
+
signing_key:
|
85
|
+
specification_version: 4
|
86
|
+
summary: Volt user templates provide out of the box templates for users to signup,
|
87
|
+
login, and logout.
|
88
|
+
test_files: []
|