bootswatch_rails 3.3.0.4 → 3.3.0.5
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/lib/bootswatch_rails/version.rb +1 -1
- data/lib/generators/bootswatch_rails/install/templates/head.html.erb +1 -0
- data/lib/generators/bootswatch_rails/install/templates/lib/templates/erb/scaffold/edit.html.erb +1 -0
- data/lib/generators/bootswatch_rails/install/templates/lib/templates/erb/scaffold/index.html.erb +1 -0
- data/lib/generators/bootswatch_rails/install/templates/lib/templates/erb/scaffold/new.html.erb +1 -0
- data/lib/generators/bootswatch_rails/install/templates/lib/templates/erb/scaffold/show.html.erb +1 -0
- data/lib/generators/bootswatch_rails/sorcery/sorcery_generator.rb +19 -24
- data/lib/generators/bootswatch_rails/sorcery/templates/_form.html.erb +3 -0
- data/lib/generators/bootswatch_rails/sorcery/templates/change.html.erb +1 -0
- data/lib/generators/bootswatch_rails/sorcery/templates/edit.html.erb +1 -0
- data/lib/generators/bootswatch_rails/sorcery/templates/index.html.erb +9 -0
- data/lib/generators/bootswatch_rails/sorcery/templates/log_in.html.erb +1 -0
- data/lib/generators/bootswatch_rails/sorcery/templates/new.html.erb +1 -0
- data/lib/generators/bootswatch_rails/sorcery/templates/password.html.erb +1 -0
- data/lib/generators/bootswatch_rails/sorcery/templates/show.html.erb +7 -0
- data/lib/generators/bootswatch_rails/sorcery/templates/sorcery.de.yml +1 -36
- data/lib/generators/bootswatch_rails/sorcery/templates/user_migration.rb +15 -0
- data/lib/generators/bootswatch_rails/sorcery/templates/user_model.rb +0 -6
- data/lib/generators/bootswatch_rails/sorcery/templates/users_controller.rb +1 -1
- data/vendor/assets/stylesheets/cosmo.css +21 -0
- data/vendor/assets/stylesheets/cyborg.css +26 -0
- data/vendor/assets/stylesheets/darkly.css +26 -0
- data/vendor/assets/stylesheets/flatly.css +26 -0
- data/vendor/assets/stylesheets/lumen.css +26 -0
- data/vendor/assets/stylesheets/paper.css +12 -4
- data/vendor/assets/stylesheets/slate.css +26 -0
- data/vendor/assets/stylesheets/superhero.css +26 -0
- metadata +2 -9
- data/lib/generators/bootswatch_rails/sorcery/templates/ability_migration.rb +0 -28
- data/lib/generators/bootswatch_rails/sorcery/templates/ability_model.rb +0 -3
- data/lib/generators/bootswatch_rails/sorcery/templates/assignment_migration.rb +0 -10
- data/lib/generators/bootswatch_rails/sorcery/templates/assignment_model.rb +0 -4
- data/lib/generators/bootswatch_rails/sorcery/templates/role_migration.rb +0 -11
- data/lib/generators/bootswatch_rails/sorcery/templates/role_model.rb +0 -5
- data/lib/generators/bootswatch_rails/sorcery/templates/roles_controller.rb +0 -80
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0d0d6efb0c4b56a2af9105b3c8167d0de16b0af0
|
|
4
|
+
data.tar.gz: b15a82573f9e3e328dca1173468ec18e15c05fd4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0921b682e32e3b93677183b82e5de17177b6e95e4040e87b6ee603ff144342ff5d9a08c0a7e235d5abe1aa4d463f5f7f452dbb56555163638a90a2053223daa9
|
|
7
|
+
data.tar.gz: 54ebe17cd7b7d9b826e3bee0f7166f3542ec2ab27c68402e0e86f2923a281b3e38387c5f99a5cd7fbebcd15c053c5a427e5858e2ce7d1b490132baa4c1e1df5f
|
|
@@ -2,7 +2,7 @@ module BootswatchRails
|
|
|
2
2
|
BOOTSTRAP = "3.3.0"
|
|
3
3
|
BOOTSWATCH = "3.2.0"
|
|
4
4
|
FONT_AWESOME = "4.2.0"
|
|
5
|
-
VERSION = "3.3.0.
|
|
5
|
+
VERSION = "3.3.0.5"
|
|
6
6
|
|
|
7
7
|
THEMES = [:cerulean, :cosmo, :custom, :cyborg, :darkly, :flatly, :journal, :lumen, :paper, :readable, :sandstone, :simplex, :slate, :spacelab, :superhero, :united, :yeti]
|
|
8
8
|
DEFAULT = 0
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
3
3
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
4
4
|
|
|
5
|
+
<%%= favicon_link_tag 'favicon.ico' %>
|
|
5
6
|
<title><%%= content_for?(:title) ? yield(:title) : app_name %></title>
|
|
6
7
|
|
|
7
8
|
<%%= stylesheet_link_tag 'application', media: 'all'<%= turbolinks %> %>
|
data/lib/generators/bootswatch_rails/install/templates/lib/templates/erb/scaffold/index.html.erb
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<%%- page_title t('activerecord.models.<%= singular_table_name %>.other') -%>
|
|
2
2
|
<h2><%%= t('headers.index', name: t('activerecord.models.<%= singular_table_name %>.other')) %></h2>
|
|
3
|
+
<%%- content_for(:help) { "<%= singular_table_name %>_index" } -%>
|
|
3
4
|
|
|
4
5
|
<table class="table table-striped table-hover">
|
|
5
6
|
<thead>
|
data/lib/generators/bootswatch_rails/install/templates/lib/templates/erb/scaffold/show.html.erb
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<%%- page_title t('activerecord.models.<%= singular_table_name %>.one') -%>
|
|
2
2
|
<h2><%%= t('headers.show', name: t('activerecord.models.<%= singular_table_name %>.one')) %></h2>
|
|
3
|
+
<%%- content_for(:help) { "<%= singular_table_name %>_show" } -%>
|
|
3
4
|
|
|
4
5
|
<table class="table table-striped table-hover">
|
|
5
6
|
<tbody>
|
|
@@ -3,15 +3,17 @@ require 'rails/generators/active_record'
|
|
|
3
3
|
module BootswatchRails
|
|
4
4
|
module Generators
|
|
5
5
|
class SorceryGenerator < ActiveRecord::Generators::Base
|
|
6
|
-
desc "Install authentication (with Sorcery) and
|
|
6
|
+
desc "Install authentication (with Sorcery) and setup users."
|
|
7
7
|
argument :name, type: :string, default: "user",
|
|
8
8
|
banner: "name of the user model"
|
|
9
9
|
class_option :picture, type: :boolean, default: false,
|
|
10
10
|
desc: 'Add picture to user (needs carrierwave)'
|
|
11
11
|
class_option :gravatar, type: :boolean, default: false,
|
|
12
12
|
desc: 'Add Gravatar image to user (uses email)'
|
|
13
|
-
class_option :
|
|
14
|
-
desc: 'Add
|
|
13
|
+
class_option :authority, type: :boolean, default: false,
|
|
14
|
+
desc: 'Add athorization (requires authority gem)'
|
|
15
|
+
class_option :add_attr, type: :array, banner: "FIELD[:TYPE][:INDEX] ...",
|
|
16
|
+
desc: 'Setup additional attributes for user model'
|
|
15
17
|
class_option :user_activation, type: :boolean, default: false,
|
|
16
18
|
desc: 'User activation by email with optional success email'
|
|
17
19
|
class_option :reset_password, type: :boolean, default: false,
|
|
@@ -34,18 +36,10 @@ module BootswatchRails
|
|
|
34
36
|
|
|
35
37
|
def add_migrations
|
|
36
38
|
migration_template "user_migration.rb", "db/migrate/create_#{table_name}.rb"
|
|
37
|
-
return unless options.authorization?
|
|
38
|
-
migration_template "role_migration.rb", "db/migrate/create_roles.rb"
|
|
39
|
-
migration_template "assignment_migration.rb", "db/migrate/create_assignments.rb"
|
|
40
|
-
migration_template "ability_migration.rb", "db/migrate/create_abilities.rb"
|
|
41
39
|
end
|
|
42
40
|
|
|
43
41
|
def add_models
|
|
44
42
|
template "user_model.rb", "app/models/#{name}.rb"
|
|
45
|
-
return unless options.authorization?
|
|
46
|
-
template "role_model.rb", "app/models/role.rb"
|
|
47
|
-
template "assignment_model.rb", "app/models/assignment.rb"
|
|
48
|
-
template "ability_model.rb", "app/models/ability.rb"
|
|
49
43
|
end
|
|
50
44
|
|
|
51
45
|
def add_uploader
|
|
@@ -66,11 +60,6 @@ module BootswatchRails
|
|
|
66
60
|
|
|
67
61
|
def add_controllers
|
|
68
62
|
template "users_controller.rb", "app/controllers/#{table_name}_controller.rb"
|
|
69
|
-
return unless options.authorization?
|
|
70
|
-
# TODO
|
|
71
|
-
# template "roles_controller.rb", "app/controllers/roles_controller.rb"
|
|
72
|
-
# template "assignments_controller.rb", "app/controllers/assignments_controller.rb"
|
|
73
|
-
# template "abilities_controller.rb", "app/controllers/abilities_controller.rb"
|
|
74
63
|
end
|
|
75
64
|
|
|
76
65
|
def add_views
|
|
@@ -79,8 +68,6 @@ module BootswatchRails
|
|
|
79
68
|
views.each do |view|
|
|
80
69
|
template "#{view}.html.erb", "app/views/#{table_name}/#{view}.html.erb"
|
|
81
70
|
end
|
|
82
|
-
return unless options.authorization?
|
|
83
|
-
# TODO
|
|
84
71
|
end
|
|
85
72
|
|
|
86
73
|
def add_routes
|
|
@@ -111,12 +98,6 @@ module BootswatchRails
|
|
|
111
98
|
" get '/logout' => '#{table_name}#log_out', as: :logout, format: false",
|
|
112
99
|
""
|
|
113
100
|
]
|
|
114
|
-
lines << [
|
|
115
|
-
" resources :roles",
|
|
116
|
-
" resources :assignments",
|
|
117
|
-
" resources :abilities",
|
|
118
|
-
""
|
|
119
|
-
] if options.authorization?
|
|
120
101
|
route lines.join("\n")
|
|
121
102
|
end
|
|
122
103
|
|
|
@@ -151,6 +132,17 @@ module BootswatchRails
|
|
|
151
132
|
|
|
152
133
|
protected
|
|
153
134
|
|
|
135
|
+
def added_fields
|
|
136
|
+
list = options.add_attr || []
|
|
137
|
+
array = []
|
|
138
|
+
list.each do |entry|
|
|
139
|
+
name, type, index = entry.split(':')
|
|
140
|
+
type, index = ["string", type] if %w(index uniq).include? type
|
|
141
|
+
array << [name, type, index]
|
|
142
|
+
end
|
|
143
|
+
array
|
|
144
|
+
end
|
|
145
|
+
|
|
154
146
|
def submodules
|
|
155
147
|
modules = []
|
|
156
148
|
modules << ":user_activation" if options.user_activation?
|
|
@@ -180,6 +172,9 @@ module BootswatchRails
|
|
|
180
172
|
text = ":email, :name, :phone, :comment, :theme, " +
|
|
181
173
|
":active, :sysadm, :password, :password_confirmation"
|
|
182
174
|
text += ", :picture, :picture_cache" if options.picture?
|
|
175
|
+
added_fields.each do |field|
|
|
176
|
+
text += ", #{field[0]}"
|
|
177
|
+
end
|
|
183
178
|
text
|
|
184
179
|
end
|
|
185
180
|
end
|
|
@@ -28,6 +28,9 @@
|
|
|
28
28
|
<%%- if current_<%= name %>.sysadm and @<%= name %> != current_<%= name %> -%>
|
|
29
29
|
<%%= f.input :sysadm %>
|
|
30
30
|
<%%- end -%>
|
|
31
|
+
<%- added_fields.each do |field| -%>
|
|
32
|
+
<%%= f.input :<%= field[0] %> %>
|
|
33
|
+
<%- end -%>
|
|
31
34
|
|
|
32
35
|
<%%= f.button :submit, class: 'btn btn-primary' %>
|
|
33
36
|
<%%- if @<%= name %>.new_record? -%>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<%%- page_title t('headers.index', name: t('activerecord.models.<%= name %>.other')) -%>
|
|
2
2
|
<h2><%%= t('headers.index', name: t('activerecord.models.<%= name %>.other')) %></h2>
|
|
3
|
+
<%%- content_for(:help) { "<%= name %>_index" } -%>
|
|
3
4
|
|
|
4
5
|
<table class="table table-striped table-hover">
|
|
5
6
|
<thead>
|
|
@@ -14,6 +15,9 @@
|
|
|
14
15
|
<th><%%= t('activerecord.attributes.<%= name %>.gravatar') %></th>
|
|
15
16
|
<%- end -%>
|
|
16
17
|
<th><%%= t('activerecord.attributes.<%= name %>.active') %></th>
|
|
18
|
+
<%- added_fields.each do |field| -%>
|
|
19
|
+
<th><%%= t('activerecord.attributes.<%= name %>.<%= field[0] %>') %></th>
|
|
20
|
+
<%- end -%>
|
|
17
21
|
<th class="index-actions"><%%= t('actions.title') %></th>
|
|
18
22
|
</tr>
|
|
19
23
|
</thead>
|
|
@@ -45,6 +49,11 @@
|
|
|
45
49
|
(<%%= t('activerecord.attributes.<%= name %>.sysadm') %>)
|
|
46
50
|
<%%- end -%>
|
|
47
51
|
</td>
|
|
52
|
+
<%- added_fields.each do |field| -%>
|
|
53
|
+
<td>
|
|
54
|
+
<%%= <%= name %>.<%= field[0] %> %>
|
|
55
|
+
</td>
|
|
56
|
+
<%- end -%>
|
|
48
57
|
<td class="index-actions">
|
|
49
58
|
<%%= link_to t('actions.show'), <%= name %>, class: 'btn btn-default btn-xs' %>
|
|
50
59
|
<%%- if current_<%= name %>.sysadm or <%= name %> == current_<%= name %> -%>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<%%- page_title @<%= name %>.name -%>
|
|
2
2
|
<h2><%%= @<%= name %>.name %></h2>
|
|
3
|
+
<%%- content_for(:help) { "<%= name %>_show" } -%>
|
|
3
4
|
|
|
4
5
|
<table class="table table-striped table-hover">
|
|
5
6
|
<tbody>
|
|
@@ -45,6 +46,12 @@
|
|
|
45
46
|
<td><%%= t('activerecord.attributes.<%= name %>.sysadm') %></td>
|
|
46
47
|
<td><%%= @<%= name %>.sysadm ? t('simple_form.yes') : t('simple_form.no') %></td>
|
|
47
48
|
</tr>
|
|
49
|
+
<%- added_fields.each do |field| -%>
|
|
50
|
+
<tr>
|
|
51
|
+
<td><%%= t('activerecord.attributes.<%= name %>.<%= field[0] %>') %></td>
|
|
52
|
+
<td><%%= @<%= name %>.<%= field[0] %> %></td>
|
|
53
|
+
</tr>
|
|
54
|
+
<%- end -%>
|
|
48
55
|
<%- if options.activity_logging? -%>
|
|
49
56
|
<%%- if @<%= name %>.last_login_at.present? -%>
|
|
50
57
|
<tr>
|
|
@@ -34,17 +34,7 @@ de:
|
|
|
34
34
|
<%= name %>:
|
|
35
35
|
one: "Benutzer"
|
|
36
36
|
other: "Benutzer"
|
|
37
|
-
|
|
38
|
-
role:
|
|
39
|
-
one: "Rolle"
|
|
40
|
-
other: "Rollen"
|
|
41
|
-
assignment:
|
|
42
|
-
one: "Rollenzuordnung"
|
|
43
|
-
other: "Rollenzuordnungen"
|
|
44
|
-
ability:
|
|
45
|
-
one: "Fähigkeit"
|
|
46
|
-
other: Fähigkeiten"
|
|
47
|
-
<%- end -%>
|
|
37
|
+
new: "Neuer Benutzer"
|
|
48
38
|
attributes:
|
|
49
39
|
<%= name %>:
|
|
50
40
|
email: "E-Mail"
|
|
@@ -75,29 +65,4 @@ de:
|
|
|
75
65
|
failed_logins_count: "Fehlversuche Anmeldung"
|
|
76
66
|
lock_expires_at: "Gesperrt bis"
|
|
77
67
|
<%- end -%>
|
|
78
|
-
<%- if options.authorization? -%>
|
|
79
|
-
role:
|
|
80
|
-
name: "Bezeichnung"
|
|
81
|
-
assignment:
|
|
82
|
-
<%= name %>: "Benutzer"
|
|
83
|
-
role: "Rolle"
|
|
84
|
-
ability:
|
|
85
|
-
resource: "Tabelle"
|
|
86
|
-
create_new: "Neu Anlegen"
|
|
87
|
-
read_own: "Lesen Eigene"
|
|
88
|
-
read_any: "Lesen Alle"
|
|
89
|
-
update_own: "Edit Eigene"
|
|
90
|
-
update_any: "Edit Alle"
|
|
91
|
-
delete_own: "Löschen Eigene"
|
|
92
|
-
delete_any: "Löschen Alle"
|
|
93
|
-
user1_own: "Zusatz1 Eigene"
|
|
94
|
-
user1_any: "Zusatz1 Alle"
|
|
95
|
-
user1_name: "Zusatz1 Name"
|
|
96
|
-
user2_own: "Zusatz2 Eigene"
|
|
97
|
-
user2_any: "Zusatz2 Alle"
|
|
98
|
-
user2_name: "Zusatz2 Name"
|
|
99
|
-
user3_own: "Zusatz3 Eigene"
|
|
100
|
-
user3_any: "Zusatz3 Alle"
|
|
101
|
-
user3_name: "Zusatz3 Name"
|
|
102
|
-
<%- end -%>
|
|
103
68
|
|
|
@@ -11,6 +11,12 @@ class <%= migration_name.camelize %> < ActiveRecord::Migration
|
|
|
11
11
|
t.integer :theme, default: BootswatchRails::DEFAULT
|
|
12
12
|
t.boolean :active, default: true
|
|
13
13
|
t.boolean :sysadm, default: false
|
|
14
|
+
<%- if added_fields.any? -%>
|
|
15
|
+
|
|
16
|
+
<%- added_fields.each do |field| -%>
|
|
17
|
+
t.<%= field[1] %> :<%= field[0] %>
|
|
18
|
+
<%- end -%>
|
|
19
|
+
<%- end -%>
|
|
14
20
|
|
|
15
21
|
t.string :crypted_password, null: false
|
|
16
22
|
t.string :salt, null: false
|
|
@@ -46,6 +52,15 @@ class <%= migration_name.camelize %> < ActiveRecord::Migration
|
|
|
46
52
|
|
|
47
53
|
add_index :<%= table_name %>, :email, unique: true
|
|
48
54
|
add_index :<%= table_name %>, :sysadm
|
|
55
|
+
<%- if added_fields.any? -%>
|
|
56
|
+
<%- added_fields.each do |field| -%>
|
|
57
|
+
<%- if field[2] == "uniq" -%>
|
|
58
|
+
add_index :<%= table_name %>, :<%= field[0] %>, unique: true
|
|
59
|
+
<%- elsif field[2] == "index" -%>
|
|
60
|
+
add_index :<%= table_name %>, :<%= field[0] %>
|
|
61
|
+
<%- end -%>
|
|
62
|
+
<%- end -%>
|
|
63
|
+
<%- end -%>
|
|
49
64
|
<%- if options.user_activation? -%>
|
|
50
65
|
add_index :<%= table_name %>, :activation_token
|
|
51
66
|
<%- end -%>
|
|
@@ -10,12 +10,6 @@ class <%= class_name %> < ActiveRecord::Base
|
|
|
10
10
|
scope :active, -> { where(active: true) }
|
|
11
11
|
scope :sysadms, -> { where(sysadm: true) }
|
|
12
12
|
|
|
13
|
-
<%- if options.authorization? -%>
|
|
14
|
-
has_many :assignments
|
|
15
|
-
has_many :roles, through: :assignments
|
|
16
|
-
has_many :abilities, through: :roles
|
|
17
|
-
|
|
18
|
-
<%- end -%>
|
|
19
13
|
<%- if options.picture? -%>
|
|
20
14
|
mount_uploader :picture, PictureUploader
|
|
21
15
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
class <%= controller_name.camelize %> < ApplicationController
|
|
2
2
|
force_ssl if: :ssl_configured?
|
|
3
|
-
|
|
3
|
+
skip_before_action :require_login, only: [:log_in, :access, :password, :reset, :change, :refresh, :log_out]
|
|
4
4
|
before_action :set_<%= name %>, only: [:show, :edit, :update, :destroy]
|
|
5
5
|
|
|
6
6
|
# GET /<%= table_name %>
|
|
@@ -6447,6 +6447,27 @@ table .info a,
|
|
|
6447
6447
|
.panel-default .close {
|
|
6448
6448
|
color: #333333;
|
|
6449
6449
|
}
|
|
6450
|
+
a.list-group-item-success.active {
|
|
6451
|
+
background-color: #3fb618;
|
|
6452
|
+
}
|
|
6453
|
+
a.list-group-item-success.active:hover,
|
|
6454
|
+
a.list-group-item-success.active:focus {
|
|
6455
|
+
background-color: #379f15;
|
|
6456
|
+
}
|
|
6457
|
+
a.list-group-item-warning.active {
|
|
6458
|
+
background-color: #ff7518;
|
|
6459
|
+
}
|
|
6460
|
+
a.list-group-item-warning.active:hover,
|
|
6461
|
+
a.list-group-item-warning.active:focus {
|
|
6462
|
+
background-color: #fe6600;
|
|
6463
|
+
}
|
|
6464
|
+
a.list-group-item-danger.active {
|
|
6465
|
+
background-color: #ff0039;
|
|
6466
|
+
}
|
|
6467
|
+
a.list-group-item-danger.active:hover,
|
|
6468
|
+
a.list-group-item-danger.active:focus {
|
|
6469
|
+
background-color: #e60033;
|
|
6470
|
+
}
|
|
6450
6471
|
.modal .close {
|
|
6451
6472
|
color: #333333;
|
|
6452
6473
|
}
|
|
@@ -6424,6 +6424,32 @@ a.thumbnail:focus,
|
|
|
6424
6424
|
a.thumbnail.active {
|
|
6425
6425
|
border-color: #282828;
|
|
6426
6426
|
}
|
|
6427
|
+
a.list-group-item.active,
|
|
6428
|
+
a.list-group-item.active:hover,
|
|
6429
|
+
a.list-group-item.active:focus {
|
|
6430
|
+
border-color: #282828;
|
|
6431
|
+
}
|
|
6432
|
+
a.list-group-item-success.active {
|
|
6433
|
+
background-color: #77b300;
|
|
6434
|
+
}
|
|
6435
|
+
a.list-group-item-success.active:hover,
|
|
6436
|
+
a.list-group-item-success.active:focus {
|
|
6437
|
+
background-color: #669a00;
|
|
6438
|
+
}
|
|
6439
|
+
a.list-group-item-warning.active {
|
|
6440
|
+
background-color: #ff8800;
|
|
6441
|
+
}
|
|
6442
|
+
a.list-group-item-warning.active:hover,
|
|
6443
|
+
a.list-group-item-warning.active:focus {
|
|
6444
|
+
background-color: #e67a00;
|
|
6445
|
+
}
|
|
6446
|
+
a.list-group-item-danger.active {
|
|
6447
|
+
background-color: #cc0000;
|
|
6448
|
+
}
|
|
6449
|
+
a.list-group-item-danger.active:hover,
|
|
6450
|
+
a.list-group-item-danger.active:focus {
|
|
6451
|
+
background-color: #b30000;
|
|
6452
|
+
}
|
|
6427
6453
|
.jumbotron h1,
|
|
6428
6454
|
.jumbotron h2,
|
|
6429
6455
|
.jumbotron h3,
|
|
@@ -6542,6 +6542,32 @@ textarea:focus {
|
|
|
6542
6542
|
-webkit-box-shadow: none;
|
|
6543
6543
|
box-shadow: none;
|
|
6544
6544
|
}
|
|
6545
|
+
a.list-group-item.active,
|
|
6546
|
+
a.list-group-item.active:hover,
|
|
6547
|
+
a.list-group-item.active:focus {
|
|
6548
|
+
border-color: #464545;
|
|
6549
|
+
}
|
|
6550
|
+
a.list-group-item-success.active {
|
|
6551
|
+
background-color: #00bc8c;
|
|
6552
|
+
}
|
|
6553
|
+
a.list-group-item-success.active:hover,
|
|
6554
|
+
a.list-group-item-success.active:focus {
|
|
6555
|
+
background-color: #00a379;
|
|
6556
|
+
}
|
|
6557
|
+
a.list-group-item-warning.active {
|
|
6558
|
+
background-color: #f39c12;
|
|
6559
|
+
}
|
|
6560
|
+
a.list-group-item-warning.active:hover,
|
|
6561
|
+
a.list-group-item-warning.active:focus {
|
|
6562
|
+
background-color: #e08e0b;
|
|
6563
|
+
}
|
|
6564
|
+
a.list-group-item-danger.active {
|
|
6565
|
+
background-color: #e74c3c;
|
|
6566
|
+
}
|
|
6567
|
+
a.list-group-item-danger.active:hover,
|
|
6568
|
+
a.list-group-item-danger.active:focus {
|
|
6569
|
+
background-color: #e43725;
|
|
6570
|
+
}
|
|
6545
6571
|
.popover {
|
|
6546
6572
|
color: #ffffff;
|
|
6547
6573
|
}
|
|
@@ -6518,6 +6518,32 @@ input:focus {
|
|
|
6518
6518
|
-webkit-box-shadow: none;
|
|
6519
6519
|
box-shadow: none;
|
|
6520
6520
|
}
|
|
6521
|
+
a.list-group-item.active,
|
|
6522
|
+
a.list-group-item.active:hover,
|
|
6523
|
+
a.list-group-item.active:focus {
|
|
6524
|
+
border-color: #ecf0f1;
|
|
6525
|
+
}
|
|
6526
|
+
a.list-group-item-success.active {
|
|
6527
|
+
background-color: #18bc9c;
|
|
6528
|
+
}
|
|
6529
|
+
a.list-group-item-success.active:hover,
|
|
6530
|
+
a.list-group-item-success.active:focus {
|
|
6531
|
+
background-color: #15a589;
|
|
6532
|
+
}
|
|
6533
|
+
a.list-group-item-warning.active {
|
|
6534
|
+
background-color: #f39c12;
|
|
6535
|
+
}
|
|
6536
|
+
a.list-group-item-warning.active:hover,
|
|
6537
|
+
a.list-group-item-warning.active:focus {
|
|
6538
|
+
background-color: #e08e0b;
|
|
6539
|
+
}
|
|
6540
|
+
a.list-group-item-danger.active {
|
|
6541
|
+
background-color: #e74c3c;
|
|
6542
|
+
}
|
|
6543
|
+
a.list-group-item-danger.active:hover,
|
|
6544
|
+
a.list-group-item-danger.active:focus {
|
|
6545
|
+
background-color: #e43725;
|
|
6546
|
+
}
|
|
6521
6547
|
.panel-default .close {
|
|
6522
6548
|
color: #2c3e50;
|
|
6523
6549
|
}
|
|
@@ -6659,6 +6659,32 @@ label {
|
|
|
6659
6659
|
-webkit-box-shadow: inset 0 2px 0 rgba(0, 0, 0, 0.05);
|
|
6660
6660
|
box-shadow: inset 0 2px 0 rgba(0, 0, 0, 0.05);
|
|
6661
6661
|
}
|
|
6662
|
+
a.list-group-item.active,
|
|
6663
|
+
a.list-group-item.active:hover,
|
|
6664
|
+
a.list-group-item.active:focus {
|
|
6665
|
+
border-color: #dddddd;
|
|
6666
|
+
}
|
|
6667
|
+
a.list-group-item-success.active {
|
|
6668
|
+
background-color: #28b62c;
|
|
6669
|
+
}
|
|
6670
|
+
a.list-group-item-success.active:hover,
|
|
6671
|
+
a.list-group-item-success.active:focus {
|
|
6672
|
+
background-color: #23a127;
|
|
6673
|
+
}
|
|
6674
|
+
a.list-group-item-warning.active {
|
|
6675
|
+
background-color: #ff851b;
|
|
6676
|
+
}
|
|
6677
|
+
a.list-group-item-warning.active:hover,
|
|
6678
|
+
a.list-group-item-warning.active:focus {
|
|
6679
|
+
background-color: #ff7701;
|
|
6680
|
+
}
|
|
6681
|
+
a.list-group-item-danger.active {
|
|
6682
|
+
background-color: #ff4136;
|
|
6683
|
+
}
|
|
6684
|
+
a.list-group-item-danger.active:hover,
|
|
6685
|
+
a.list-group-item-danger.active:focus {
|
|
6686
|
+
background-color: #ff291c;
|
|
6687
|
+
}
|
|
6662
6688
|
.jumbotron {
|
|
6663
6689
|
border: 1px solid #e7e7e7;
|
|
6664
6690
|
-webkit-box-shadow: inset 0 2px 0 rgba(0, 0, 0, 0.05);
|
|
@@ -6565,10 +6565,18 @@ input[type=number][readonly],
|
|
|
6565
6565
|
}
|
|
6566
6566
|
select,
|
|
6567
6567
|
select.form-control {
|
|
6568
|
-
|
|
6569
|
-
border:
|
|
6570
|
-
-webkit-
|
|
6571
|
-
box-shadow:
|
|
6568
|
+
border: 0;
|
|
6569
|
+
border-radius: 0;
|
|
6570
|
+
-webkit-appearance: none;
|
|
6571
|
+
-webkit-box-shadow: inset 0 -1px 0 #dddddd;
|
|
6572
|
+
box-shadow: inset 0 -1px 0 #dddddd;
|
|
6573
|
+
font-size: 16px;
|
|
6574
|
+
padding-left: 0px;
|
|
6575
|
+
}
|
|
6576
|
+
select:focus,
|
|
6577
|
+
select.form-control:focus {
|
|
6578
|
+
-webkit-box-shadow: inset 0 -2px 0 #2196f3;
|
|
6579
|
+
box-shadow: inset 0 -2px 0 #2196f3;
|
|
6572
6580
|
}
|
|
6573
6581
|
.has-warning input,
|
|
6574
6582
|
.has-warning .form-control,
|
|
@@ -6704,6 +6704,32 @@ a.thumbnail:focus,
|
|
|
6704
6704
|
a.thumbnail.active {
|
|
6705
6705
|
border-color: #0c0d0e;
|
|
6706
6706
|
}
|
|
6707
|
+
a.list-group-item.active,
|
|
6708
|
+
a.list-group-item.active:hover,
|
|
6709
|
+
a.list-group-item.active:focus {
|
|
6710
|
+
border-color: rgba(0, 0, 0, 0.6);
|
|
6711
|
+
}
|
|
6712
|
+
a.list-group-item-success.active {
|
|
6713
|
+
background-color: #62c462;
|
|
6714
|
+
}
|
|
6715
|
+
a.list-group-item-success.active:hover,
|
|
6716
|
+
a.list-group-item-success.active:focus {
|
|
6717
|
+
background-color: #4fbd4f;
|
|
6718
|
+
}
|
|
6719
|
+
a.list-group-item-warning.active {
|
|
6720
|
+
background-color: #f89406;
|
|
6721
|
+
}
|
|
6722
|
+
a.list-group-item-warning.active:hover,
|
|
6723
|
+
a.list-group-item-warning.active:focus {
|
|
6724
|
+
background-color: #df8505;
|
|
6725
|
+
}
|
|
6726
|
+
a.list-group-item-danger.active {
|
|
6727
|
+
background-color: #ee5f5b;
|
|
6728
|
+
}
|
|
6729
|
+
a.list-group-item-danger.active:hover,
|
|
6730
|
+
a.list-group-item-danger.active:focus {
|
|
6731
|
+
background-color: #ec4844;
|
|
6732
|
+
}
|
|
6707
6733
|
.jumbotron {
|
|
6708
6734
|
border: 1px solid rgba(0, 0, 0, 0.6);
|
|
6709
6735
|
}
|
|
@@ -6494,6 +6494,32 @@ label,
|
|
|
6494
6494
|
-webkit-box-shadow: none;
|
|
6495
6495
|
box-shadow: none;
|
|
6496
6496
|
}
|
|
6497
|
+
a.list-group-item.active,
|
|
6498
|
+
a.list-group-item.active:hover,
|
|
6499
|
+
a.list-group-item.active:focus {
|
|
6500
|
+
border: none;
|
|
6501
|
+
}
|
|
6502
|
+
a.list-group-item-success.active {
|
|
6503
|
+
background-color: #5cb85c;
|
|
6504
|
+
}
|
|
6505
|
+
a.list-group-item-success.active:hover,
|
|
6506
|
+
a.list-group-item-success.active:focus {
|
|
6507
|
+
background-color: #4cae4c;
|
|
6508
|
+
}
|
|
6509
|
+
a.list-group-item-warning.active {
|
|
6510
|
+
background-color: #f0ad4e;
|
|
6511
|
+
}
|
|
6512
|
+
a.list-group-item-warning.active:hover,
|
|
6513
|
+
a.list-group-item-warning.active:focus {
|
|
6514
|
+
background-color: #eea236;
|
|
6515
|
+
}
|
|
6516
|
+
a.list-group-item-danger.active {
|
|
6517
|
+
background-color: #d9534f;
|
|
6518
|
+
}
|
|
6519
|
+
a.list-group-item-danger.active:hover,
|
|
6520
|
+
a.list-group-item-danger.active:focus {
|
|
6521
|
+
background-color: #d43f3a;
|
|
6522
|
+
}
|
|
6497
6523
|
.panel {
|
|
6498
6524
|
border: none;
|
|
6499
6525
|
}
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bootswatch_rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.3.0.
|
|
4
|
+
version: 3.3.0.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Volker Wiegand
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-11-
|
|
11
|
+
date: 2014-11-05 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: railties
|
|
@@ -125,10 +125,6 @@ files:
|
|
|
125
125
|
- lib/generators/bootswatch_rails/skip_login/skip_login_generator.rb
|
|
126
126
|
- lib/generators/bootswatch_rails/sorcery/sorcery_generator.rb
|
|
127
127
|
- lib/generators/bootswatch_rails/sorcery/templates/_form.html.erb
|
|
128
|
-
- lib/generators/bootswatch_rails/sorcery/templates/ability_migration.rb
|
|
129
|
-
- lib/generators/bootswatch_rails/sorcery/templates/ability_model.rb
|
|
130
|
-
- lib/generators/bootswatch_rails/sorcery/templates/assignment_migration.rb
|
|
131
|
-
- lib/generators/bootswatch_rails/sorcery/templates/assignment_model.rb
|
|
132
128
|
- lib/generators/bootswatch_rails/sorcery/templates/change.html.erb
|
|
133
129
|
- lib/generators/bootswatch_rails/sorcery/templates/edit.html.erb
|
|
134
130
|
- lib/generators/bootswatch_rails/sorcery/templates/gravatar_helper.rb
|
|
@@ -139,9 +135,6 @@ files:
|
|
|
139
135
|
- lib/generators/bootswatch_rails/sorcery/templates/password.html.erb
|
|
140
136
|
- lib/generators/bootswatch_rails/sorcery/templates/picture_uploader.rb
|
|
141
137
|
- lib/generators/bootswatch_rails/sorcery/templates/reset_password_email.html.erb
|
|
142
|
-
- lib/generators/bootswatch_rails/sorcery/templates/role_migration.rb
|
|
143
|
-
- lib/generators/bootswatch_rails/sorcery/templates/role_model.rb
|
|
144
|
-
- lib/generators/bootswatch_rails/sorcery/templates/roles_controller.rb
|
|
145
138
|
- lib/generators/bootswatch_rails/sorcery/templates/show.html.erb
|
|
146
139
|
- lib/generators/bootswatch_rails/sorcery/templates/sorcery.de.yml
|
|
147
140
|
- lib/generators/bootswatch_rails/sorcery/templates/user_mailer.rb
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
class CreateAbilities < ActiveRecord::Migration
|
|
2
|
-
def change
|
|
3
|
-
create_table :abilities do |t|
|
|
4
|
-
t.belongs_to :role, index: true
|
|
5
|
-
t.string :resource, null: false
|
|
6
|
-
t.boolean :create_new, default: false
|
|
7
|
-
t.boolean :read_own, default: false
|
|
8
|
-
t.boolean :read_any, default: false
|
|
9
|
-
t.boolean :update_own, default: false
|
|
10
|
-
t.boolean :update_any, default: false
|
|
11
|
-
t.boolean :delete_own, default: false
|
|
12
|
-
t.boolean :delete_any, default: false
|
|
13
|
-
t.boolean :user1_own, default: false
|
|
14
|
-
t.boolean :user1_any, default: false
|
|
15
|
-
t.string :user1_name
|
|
16
|
-
t.boolean :user2_own, default: false
|
|
17
|
-
t.boolean :user2_any, default: false
|
|
18
|
-
t.string :user2_name
|
|
19
|
-
t.boolean :user3_own, default: false
|
|
20
|
-
t.boolean :user3_any, default: false
|
|
21
|
-
t.string :user3_name
|
|
22
|
-
|
|
23
|
-
t.timestamps
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
add_index :abilities, :resource, unique: true
|
|
27
|
-
end
|
|
28
|
-
end
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
class RolesController < ApplicationController
|
|
2
|
-
force_ssl if: :ssl_configured?
|
|
3
|
-
before_action :set_role, only: [:show, :edit, :update, :destroy]
|
|
4
|
-
|
|
5
|
-
# GET /roles
|
|
6
|
-
# GET /roles.json
|
|
7
|
-
def index
|
|
8
|
-
@roles = Role.all
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
# GET /roles/1
|
|
12
|
-
# GET /roles/1.json
|
|
13
|
-
def show
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
# GET /roles/new
|
|
17
|
-
def new
|
|
18
|
-
@role = Role.new
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
# GET /roles/1/edit
|
|
22
|
-
def edit
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
# POST /roles
|
|
26
|
-
# POST /roles.json
|
|
27
|
-
def create
|
|
28
|
-
@role = Role.new(role_params)
|
|
29
|
-
|
|
30
|
-
respond_to do |format|
|
|
31
|
-
if @role.save
|
|
32
|
-
format.html { redirect_to @role, notice: 'Role was successfully created.' }
|
|
33
|
-
format.json { render :show, status: :created, location: @role }
|
|
34
|
-
else
|
|
35
|
-
format.html { render :new }
|
|
36
|
-
format.json { render json: @role.errors, status: :unprocessable_entity }
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
# PATCH/PUT /roles/1
|
|
42
|
-
# PATCH/PUT /roles/1.json
|
|
43
|
-
def update
|
|
44
|
-
respond_to do |format|
|
|
45
|
-
if @role.update(role_params)
|
|
46
|
-
format.html { redirect_to @role, notice: 'Role was successfully updated.' }
|
|
47
|
-
format.json { render :show, status: :ok, location: @role }
|
|
48
|
-
else
|
|
49
|
-
format.html { render :edit }
|
|
50
|
-
format.json { render json: @role.errors, status: :unprocessable_entity }
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
# DELETE /roles/1
|
|
56
|
-
# DELETE /roles/1.json
|
|
57
|
-
def destroy
|
|
58
|
-
@role.destroy
|
|
59
|
-
respond_to do |format|
|
|
60
|
-
format.html { redirect_to roles_url, notice: 'Role was successfully destroyed.' }
|
|
61
|
-
format.json { head :no_content }
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
private
|
|
66
|
-
# Always enforce SSL for this controller
|
|
67
|
-
def ssl_configured?
|
|
68
|
-
Rails.env.production?
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
# Use callbacks to share common setup or constraints between actions.
|
|
72
|
-
def set_role
|
|
73
|
-
@role = Role.find(params[:id])
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
# Never trust parameters from the scary internet, only allow the white list through.
|
|
77
|
-
def role_params
|
|
78
|
-
params.require(:role).permit(:name)
|
|
79
|
-
end
|
|
80
|
-
end
|