tb_core 1.1.9 → 1.1.10
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 +8 -8
- data/README.md +16 -0
- data/app/assets/javascripts/admin/core/editor.js +1 -1
- data/app/assets/stylesheets/admin/core/application.css.scss +9 -0
- data/app/controllers/spud/application_controller.rb +2 -1
- data/app/views/layouts/admin/application.html.erb +6 -1
- data/lib/generators/spud/setup_generator.rb +35 -1
- data/lib/spud_core/configuration.rb +2 -1
- data/lib/spud_core/exceptions.rb +3 -2
- data/lib/spud_core/version.rb +1 -1
- data/spec/dummy/log/test.log +36027 -0
- data/spec/views/layouts/admin/application.html.erb_spec.rb +20 -0
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZjBkMzVhN2EyNDg1MmJkZjk1ZDdhOTBhOWUzZWM2Y2FjZGM0ZTY1MQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MmRiZjAxMjg4ZmNiNDZjNjRmZDEwZTM3ZTJjZDg1ZTk0MWY5OTA4Nw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YjZjZTJjYzMyYWI0ZDU3NjViYzYwOTU0Mjk3MDQxNmMyMGY5NWJkYTU3YjVi
|
10
|
+
NTNhYzgwNTJiNDhiNmYwNDEzYjYyZTQxNDRmMDlhMTkyNzUzZGM2OTk5YTgx
|
11
|
+
NDExNzg0NDRlMDM2MzI4OGY2MjU0YzBkNzVhMmNmMGEwNDhjNDM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NDg0MzgyNzllZjEwZTIzMTdmYjk2OTcwOGM2MGM2OWUxZDVhMDU0M2EzYzFh
|
14
|
+
MmJiMTk0NGQ2YmViOWM1Yzk0YTRjY2RkZDIxZGVjYTQ4YWY5MTMwYmQxY2M4
|
15
|
+
MTk0MDg1NzIzMTI0ZjZmM2ZlOGI5NzI1NzZhYzUzN2VkZTUyNTE=
|
data/README.md
CHANGED
@@ -28,6 +28,22 @@ The `spud:setup` generator takes care of a few tasks for you. If you missed that
|
|
28
28
|
2. Your base `application.html.erb` should include a few special head tags (see generator template for example).
|
29
29
|
3. You should copy in the base migrations with `rake railties:install:migrations`.
|
30
30
|
|
31
|
+
Configuration
|
32
|
+
-------------
|
33
|
+
|
34
|
+
The core engine provides various configuration options.
|
35
|
+
|
36
|
+
Spud::Core.configure do |config|
|
37
|
+
config.option = value
|
38
|
+
...
|
39
|
+
end
|
40
|
+
|
41
|
+
- `admin_applications`: Array of custom admin modules. See section below for more info.
|
42
|
+
- `site_name`: Controls the site name displayed in the dashboard and `tb_page_title` view helper.
|
43
|
+
- `from_address`: Sender address used for password resets and other mailers.
|
44
|
+
- `not_found_template`: ERB template used for 404 exceptions. Defaults to `layouts/not_found`.
|
45
|
+
- `production_alert_domain`: When set, displays a prominent warning bar in the admin dashboard directing users to the production domain. Intended for staging websites. ex: `www.westlakedesign.com`.
|
46
|
+
|
31
47
|
Adding Apps to the Dashboard
|
32
48
|
----------------------------
|
33
49
|
|
@@ -12,7 +12,7 @@ spud.admin.editor = {};
|
|
12
12
|
];
|
13
13
|
|
14
14
|
var registeredButtons = [
|
15
|
-
['bold','italic','underline','strikethrough','|','justifyleft','justifycenter','justifyright','justifyfull','|','formatselect','cut','copy','paste','pastetext','|','bullist','numlist','outdent','indent','|','tableDropdown','|','link','unlink','anchor','image','code'],
|
15
|
+
['bold','italic','underline','strikethrough','|','justifyleft','justifycenter','justifyright','justifyfull','|','formatselect','cut','copy','paste', 'pasteword','pastetext','|','bullist','numlist','outdent','indent','|','tableDropdown','|','link','unlink','anchor','image','code'],
|
16
16
|
[],
|
17
17
|
[],
|
18
18
|
[]
|
@@ -49,6 +49,15 @@ a:hover .ui-button-text {
|
|
49
49
|
color:#eee;
|
50
50
|
font-weight:normal;
|
51
51
|
}
|
52
|
+
.production-alert-header{
|
53
|
+
padding: 5px 15px;
|
54
|
+
background: #FFFF66;
|
55
|
+
p{
|
56
|
+
font-size: 12px;
|
57
|
+
line-height: 16px;
|
58
|
+
margin: 0;
|
59
|
+
}
|
60
|
+
}
|
52
61
|
.greeting {
|
53
62
|
color:#fff;
|
54
63
|
}
|
@@ -84,7 +84,8 @@ private
|
|
84
84
|
if request.xhr?
|
85
85
|
render :nothing => true, :status => 404
|
86
86
|
else
|
87
|
-
|
87
|
+
template = @exception.template || Spud::Core.not_found_template
|
88
|
+
render :template => template, :layout => nil, :formats => [:html], :status => 404
|
88
89
|
end
|
89
90
|
end
|
90
91
|
|
@@ -8,13 +8,18 @@
|
|
8
8
|
<%= yield :head %>
|
9
9
|
</head>
|
10
10
|
<body>
|
11
|
+
<% if Spud::Core.production_alert_domain %>
|
12
|
+
<div class="production-alert-header">
|
13
|
+
<p><strong>Notice:</strong> This is a staging version of your website. To update your live website, please <%= link_to 'log in to production.', "http://#{Spud::Core.production_alert_domain}/admin" %></p>
|
14
|
+
</div>
|
15
|
+
<% end %>
|
11
16
|
<div id="header" style="<%=header_style%>">
|
12
17
|
<%= link_to '/' do %>
|
13
18
|
<h1><%= Spud::Core.config.site_name %></h1>
|
14
19
|
<% end %>
|
15
20
|
<% if current_user %>
|
16
21
|
<div id="user_meta">
|
17
|
-
<span class="greeting">Hello <%=
|
22
|
+
<span class="greeting">Hello <%= current_user.full_name %></span> |
|
18
23
|
<%=link_to "Settings", admin_settings_path%> |
|
19
24
|
<%=link_to "Logout",admin_logout_path %>
|
20
25
|
</div>
|
@@ -7,6 +7,9 @@ class Spud::SetupGenerator < ::Rails::Generators::Base
|
|
7
7
|
template "application_controller.rb", "app/controllers/application_controller.rb"
|
8
8
|
template 'assets/admin.css.scss', 'app/assets/stylesheets/admin/application.css.scss'
|
9
9
|
|
10
|
+
update_base_stylesheet()
|
11
|
+
update_base_javascript()
|
12
|
+
|
10
13
|
if defined?(CoffeeScript)
|
11
14
|
template 'assets/admin.coffee.erb', 'app/assets/javascripts/admin/application.js.coffee'
|
12
15
|
else
|
@@ -15,7 +18,10 @@ class Spud::SetupGenerator < ::Rails::Generators::Base
|
|
15
18
|
|
16
19
|
environment(spud_core_configs())
|
17
20
|
rake('railties:install:migrations')
|
18
|
-
|
21
|
+
|
22
|
+
if ask("Migrate the database? [Yn] ") == 'Y'
|
23
|
+
rake('db:migrate')
|
24
|
+
end
|
19
25
|
end
|
20
26
|
|
21
27
|
private
|
@@ -31,6 +37,34 @@ Spud::Core.configure do |config|
|
|
31
37
|
EOF
|
32
38
|
end
|
33
39
|
|
40
|
+
def update_base_stylesheet()
|
41
|
+
extensions = ['css', 'css.scss']
|
42
|
+
extensions.each do |ext|
|
43
|
+
path = File.join(Rails.root, "app/assets/stylesheets/application.#{ext}")
|
44
|
+
if File.exist?(path)
|
45
|
+
replace_with_require_directory(path)
|
46
|
+
return
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def update_base_javascript()
|
52
|
+
extensions = ['js', 'js.coffee']
|
53
|
+
extensions.each do |ext|
|
54
|
+
path = File.join(Rails.root, "app/assets/javascripts/application.#{ext}")
|
55
|
+
if File.exist?(path)
|
56
|
+
replace_with_require_directory(path)
|
57
|
+
return
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def replace_with_require_directory(path)
|
63
|
+
text = File.read(path)
|
64
|
+
text.gsub!('require_tree', 'require_directory')
|
65
|
+
File.open(path, 'w'){ |f| f.puts(text) }
|
66
|
+
end
|
67
|
+
|
34
68
|
def application_name
|
35
69
|
Rails.application.class.name.split('::').first.underscore
|
36
70
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Spud
|
2
2
|
module Core
|
3
3
|
include ActiveSupport::Configurable
|
4
|
-
config_accessor :site_name,:admin_applications,:sitemap_urls,:multisite_mode_enabled,:multisite_config,:from_address,:site_id,:short_name, :javascripts,:stylesheets, :admin_javascripts, :admin_stylesheets, :permissions, :not_found_template
|
4
|
+
config_accessor :site_name,:admin_applications,:sitemap_urls,:multisite_mode_enabled,:multisite_config,:from_address,:site_id,:short_name, :javascripts,:stylesheets, :admin_javascripts, :admin_stylesheets, :permissions, :not_found_template, :production_alert_domain
|
5
5
|
self.admin_applications = []
|
6
6
|
self.site_name = "Company Name"
|
7
7
|
self.site_id = 0
|
@@ -16,6 +16,7 @@ module Spud
|
|
16
16
|
self.admin_javascripts = ['admin/core/application', 'admin/application']
|
17
17
|
self.admin_stylesheets = ['admin/core/application', 'admin/application']
|
18
18
|
self.not_found_template = 'layouts/not_found'
|
19
|
+
self.production_alert_domain = nil
|
19
20
|
|
20
21
|
def self.site_config_for_host(host)
|
21
22
|
configs = Spud::Core.multisite_config.select{|p| p[:hosts].include?(host)}
|
data/lib/spud_core/exceptions.rb
CHANGED
@@ -3,11 +3,12 @@ class Spud::AccessDeniedError < StandardError
|
|
3
3
|
end
|
4
4
|
|
5
5
|
class Spud::NotFoundError < StandardError
|
6
|
-
|
7
|
-
attr_accessor :request_url, :item
|
6
|
+
|
7
|
+
attr_accessor :request_url, :item, :template
|
8
8
|
|
9
9
|
def initialize(opts={})
|
10
10
|
@item = opts[:item] || 'page'
|
11
|
+
@template = opts[:template] || nil
|
11
12
|
super("The #{item.downcase} you were looking for could not be found.")
|
12
13
|
end
|
13
14
|
|
data/lib/spud_core/version.rb
CHANGED