refinerycms 0.9.6.7 → 0.9.6.8
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.
- data/Gemfile +13 -0
- data/VERSION +1 -1
- data/config/application.rb +92 -0
- data/config/environment.rb +4 -74
- data/config/preinitializer.rb +7 -4
- data/db/schema.rb +1 -1
- data/lib/attachment_fu_patch.rb +16 -0
- data/public/.htaccess +3 -3
- data/public/javascripts/refinery/admin.js +6 -1
- data/test/files/teng.pdf +0 -0
- data/test/fixtures/inquiries.yml +22 -0
- data/test/fixtures/news_items.yml +14 -0
- data/test/fixtures/pages.yml +10 -4
- data/test/fixtures/refinery_settings.yml +3 -0
- data/test/fixtures/resources.yml +4 -0
- data/test/fixtures/themes.yml +5 -0
- data/test/unit/image_test.rb +4 -2
- data/test/unit/inquiry_test.rb +41 -0
- data/test/unit/news_items_test.rb +33 -0
- data/test/unit/page_test.rb +12 -9
- data/test/unit/refinery_setting_test.rb +57 -0
- data/test/unit/resource_test.rb +33 -0
- data/test/unit/theme_test.rb +19 -0
- data/todo.md +9 -0
- data/vendor/cache/aasm-2.1.3.gem +0 -0
- data/vendor/cache/actionmailer-2.3.5.gem +0 -0
- data/vendor/cache/actionpack-2.3.5.gem +0 -0
- data/vendor/cache/activerecord-2.3.5.gem +0 -0
- data/vendor/cache/activeresource-2.3.5.gem +0 -0
- data/vendor/cache/activesupport-2.3.5.gem +0 -0
- data/vendor/cache/friendly_id-2.3.1.gem +0 -0
- data/vendor/cache/hpricot-0.8.2.gem +0 -0
- data/vendor/cache/rack-1.0.1.gem +0 -0
- data/vendor/cache/rails-2.3.5.gem +0 -0
- data/vendor/cache/rake-0.8.7.gem +0 -0
- data/vendor/cache/rubyzip-0.9.1.gem +0 -0
- data/vendor/cache/slim_scrooge-1.0.3.gem +0 -0
- data/vendor/cache/will_paginate-2.3.11.gem +0 -0
- data/vendor/plugins/authentication/app/models/user.rb +1 -0
- data/vendor/plugins/images/app/models/image.rb +23 -15
- data/vendor/plugins/images/rails/init.rb +1 -1
- data/vendor/plugins/inquiries/app/controllers/admin/inquiries_controller.rb +1 -1
- data/vendor/plugins/inquiries/app/models/inquiry.rb +6 -9
- data/vendor/plugins/inquiries/rails/init.rb +1 -1
- data/vendor/plugins/news/app/controllers/admin/news_items_controller.rb +1 -1
- data/vendor/plugins/news/app/controllers/news_items_controller.rb +3 -3
- data/vendor/plugins/news/app/models/news_item.rb +6 -8
- data/vendor/plugins/news/app/views/admin/news_items/_form.html.erb +4 -4
- data/vendor/plugins/news/app/views/admin/news_items/_news_item.html.erb +5 -4
- data/vendor/plugins/news/app/views/admin/news_items/edit.html.erb +1 -1
- data/vendor/plugins/news/rails/init.rb +1 -1
- data/vendor/plugins/pages/app/models/page.rb +2 -2
- data/vendor/plugins/pages/rails/init.rb +1 -1
- data/vendor/plugins/refinery/app/views/admin/_head.html.erb +2 -9
- data/vendor/plugins/refinery/app/views/shared/_content_page.html.erb +7 -6
- data/vendor/plugins/refinery/app/views/shared/_head.html.erb +1 -0
- data/vendor/plugins/refinery/app/views/shared/_menu_branch.html.erb +1 -1
- data/vendor/plugins/refinery/lib/crud.rb +2 -2
- data/vendor/plugins/refinery/lib/refinery/application_controller.rb +15 -15
- data/vendor/plugins/refinery/lib/refinery/application_helper.rb +12 -0
- data/vendor/plugins/refinery/lib/refinery/plugin.rb +1 -1
- data/vendor/plugins/refinery/plugins.md +2 -2
- data/vendor/plugins/refinery_settings/app/models/refinery_setting.rb +40 -18
- data/vendor/plugins/refinery_settings/rails/init.rb +1 -2
- data/vendor/plugins/resources/app/models/resource.rb +10 -2
- data/vendor/plugins/themes/app/models/theme.rb +1 -1
- data/vendor/plugins/themes/lib/theme_server.rb +13 -4
- data/vendor/plugins/themes/rails/init.rb +12 -1
- metadata +36 -2
@@ -85,9 +85,9 @@ class Page < ActiveRecord::Base
|
|
85
85
|
# to "/inquiries/new"
|
86
86
|
def url
|
87
87
|
if self.link_url.present?
|
88
|
-
self.link_url
|
88
|
+
self.link_url =~ /^\// ? {:controller => self.link_url} : self.link_url
|
89
89
|
elsif self.to_param.present?
|
90
|
-
"
|
90
|
+
{:controller => "pages", :action => "show", :id => self.to_param}
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
@@ -2,7 +2,7 @@ Refinery::Plugin.register do |plugin|
|
|
2
2
|
plugin.title = "Pages"
|
3
3
|
plugin.description = "Manage content pages"
|
4
4
|
plugin.version = 1.0
|
5
|
-
plugin.menu_match = /admin\/(
|
5
|
+
plugin.menu_match = /admin\/page(_dialog|part)?s$/
|
6
6
|
plugin.activity = {
|
7
7
|
:class => Page,
|
8
8
|
:url_prefix => "edit",
|
@@ -4,15 +4,8 @@
|
|
4
4
|
<title><%= RefinerySetting.find_or_set(:site_name, 'Company Name').titleize %> - Refinery</title>
|
5
5
|
<%= stylesheet_link_tag 'refinery/thickbox', 'refinery/refinery', 'refinery/tooltips', :cache => (use_caching ? "cache/refinery" : false) %>
|
6
6
|
<%= render :partial => "/shared/admin/head_before_javascript_libraries" -%>
|
7
|
-
|
8
|
-
<script type='text/javascript' src="http://www.google.com/jsapi"></script>
|
9
|
-
<script type='text/javascript'>
|
10
|
-
google.load("jquery", "1.4");
|
11
|
-
google.load("jqueryui", "1.8");
|
12
|
-
</script>
|
13
|
-
<% end %>
|
14
|
-
<%= javascript_include_tag 'jquery', 'jquery-ui-1.8rc1.min.js', :cache => (use_caching ? "cache/libraries" : nil) if !using_google_libs or local_request? %>
|
7
|
+
<%= jquery_include_tags(use_caching) %>
|
15
8
|
<%= javascript_include_tag 'admin', 'thickbox', 'wymeditor/jquery.refinery.wymeditor.js', 'refinery/boot_wym', 'refinery/admin', :cache => (use_caching ? "cache/admin" : false) %>
|
16
9
|
<%= javascript_include_tag "http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js" if RefinerySetting.find_or_set(:show_firebug_lite, false) -%>
|
17
10
|
<%= yield :head %>
|
18
|
-
</head>
|
11
|
+
</head>
|
@@ -1,7 +1,8 @@
|
|
1
1
|
<%
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
hide_empty_sections ||= !(show_empty_sections ||= false)
|
3
|
+
body_content_title = ((title = yield :body_content_title).present? or hide_empty_sections) ? title : page_title
|
4
|
+
body_content_left = ((body_content_left = yield :body_content_left).present? or hide_empty_sections) ? body_content_left : @page[:body]
|
5
|
+
body_content_right = ((body_content_right = yield :body_content_right).present? or hide_empty_sections) ? body_content_right : @page[:side_body]
|
5
6
|
extra_body_content_classes = []
|
6
7
|
extra_body_content_classes << "no_title" if body_content_title.blank?
|
7
8
|
extra_body_content_classes << "no_left" if body_content_left.blank?
|
@@ -9,17 +10,17 @@
|
|
9
10
|
-%>
|
10
11
|
<%= render :partial => "/shared/submenu" if !admin? and (show_submenu ||= true) and RefinerySetting.find_or_set(:show_submenu_on_content_pages, true) %>
|
11
12
|
<div id='body_content' class='clearfix<%= " #{extra_body_content_classes.join(" ")}" if extra_body_content_classes.any? %>'>
|
12
|
-
<% unless body_content_title.blank? and
|
13
|
+
<% unless body_content_title.blank? and hide_empty_sections -%>
|
13
14
|
<h1 id='body_content_page_title'>
|
14
15
|
<%= body_content_title %>
|
15
16
|
</h1>
|
16
17
|
<% end -%>
|
17
|
-
<% unless body_content_left.blank? and
|
18
|
+
<% unless body_content_left.blank? and hide_empty_sections -%>
|
18
19
|
<div id='body_content_left' class='clearfix'>
|
19
20
|
<%= body_content_left %>
|
20
21
|
</div>
|
21
22
|
<% end -%>
|
22
|
-
<% unless body_content_right.blank? and
|
23
|
+
<% unless body_content_right.blank? and hide_empty_sections -%>
|
23
24
|
<div id='body_content_right' class='clearfix'>
|
24
25
|
<%= body_content_right %>
|
25
26
|
</div>
|
@@ -11,5 +11,6 @@
|
|
11
11
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
12
12
|
<%= "<meta name=\"keywords\" content=\"#{@meta.meta_keywords}\" />" if @meta.meta_keywords.present? %>
|
13
13
|
<%= "<meta name=\"description\" content=\"#{@meta.meta_description}\" />" if @meta.meta_description.present? -%>
|
14
|
+
<%= yield :head_libraries %>
|
14
15
|
<%= yield :head %>
|
15
16
|
</head>
|
@@ -189,8 +189,8 @@ module Crud
|
|
189
189
|
|
190
190
|
def update_positions
|
191
191
|
unless params[:tree] == "true"
|
192
|
-
params[:sortable_list].
|
193
|
-
#{class_name}.find(i).update_attribute(:position,
|
192
|
+
params[:sortable_list].each_with_index do |i, index|
|
193
|
+
#{class_name}.find(i).update_attribute(:position, index)
|
194
194
|
end
|
195
195
|
else
|
196
196
|
params[:sortable_list].each do |position, id_hash|
|
@@ -7,26 +7,30 @@ class Refinery::ApplicationController < ActionController::Base
|
|
7
7
|
include Crud # basic create, read, update and delete methods
|
8
8
|
include AuthenticatedSystem
|
9
9
|
|
10
|
-
before_filter :take_down_for_maintenance?, :
|
10
|
+
before_filter :take_down_for_maintenance?, :find_pages_for_menu, :show_welcome_page
|
11
11
|
|
12
|
-
rescue_from ActiveRecord::RecordNotFound, :with => :error_404
|
13
|
-
rescue_from ActionController::UnknownAction, :with => :error_404
|
12
|
+
rescue_from ActiveRecord::RecordNotFound, ActionController::UnknownAction, :with => :error_404
|
14
13
|
|
15
14
|
def error_404
|
16
|
-
@page = Page.find_by_menu_match("^/404$", :include => [:parts, :slugs])
|
17
|
-
|
15
|
+
if (@page = Page.find_by_menu_match("^/404$", :include => [:parts, :slugs])).present?
|
16
|
+
# render the application's custom 404 page with layout.
|
17
|
+
render :template => "/pages/show", :status => 404
|
18
|
+
else
|
19
|
+
# fallback to the default 404.html page.
|
20
|
+
render :file => Rails.root.join("public", "404.html"), :layout => false, :status => 404
|
21
|
+
end
|
18
22
|
end
|
19
23
|
|
20
24
|
def home_page?
|
21
|
-
|
25
|
+
action_name == "home" and controller_name == "pages"
|
22
26
|
end
|
23
27
|
|
24
28
|
def local_request?
|
25
|
-
request.remote_ip =~ /(::1)|(127.0.0.1)|((192.168).*)/
|
29
|
+
ENV["RAILS_ENV"] == "development" or request.remote_ip =~ /(::1)|(127.0.0.1)|((192.168).*)/
|
26
30
|
end
|
27
31
|
|
28
32
|
def just_installed?
|
29
|
-
User.
|
33
|
+
!User.exists?
|
30
34
|
end
|
31
35
|
|
32
36
|
def from_dialog?
|
@@ -34,7 +38,7 @@ class Refinery::ApplicationController < ActionController::Base
|
|
34
38
|
end
|
35
39
|
|
36
40
|
def admin?
|
37
|
-
|
41
|
+
controller_name =~ /^admin\//
|
38
42
|
end
|
39
43
|
|
40
44
|
def wymiframe
|
@@ -43,10 +47,6 @@ class Refinery::ApplicationController < ActionController::Base
|
|
43
47
|
|
44
48
|
protected
|
45
49
|
|
46
|
-
def setup_theme
|
47
|
-
self.view_paths = ::ActionController::Base.view_paths.dup.unshift(Rails.root.join("themes", RefinerySetting[:theme], "views").to_s)
|
48
|
-
end
|
49
|
-
|
50
50
|
def take_down_for_maintenance?
|
51
51
|
if RefinerySetting.find_or_set(:down_for_maintenance, false)
|
52
52
|
if (@page = Page.find_by_menu_match("^/maintenance$", :include => [:parts, :slugs])).present?
|
@@ -58,7 +58,7 @@ protected
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def show_welcome_page
|
61
|
-
render :template => "/welcome", :layout => "admin" if just_installed? and
|
61
|
+
render :template => "/welcome", :layout => "admin" if just_installed? and controller_name != "users"
|
62
62
|
end
|
63
63
|
|
64
64
|
# get all the pages to be displayed in the site menu.
|
@@ -78,4 +78,4 @@ protected
|
|
78
78
|
super
|
79
79
|
end
|
80
80
|
|
81
|
-
end
|
81
|
+
end
|
@@ -52,6 +52,18 @@ module Refinery::ApplicationHelper
|
|
52
52
|
tag
|
53
53
|
end
|
54
54
|
|
55
|
+
def jquery_include_tags(use_caching=RefinerySetting.find_or_set(:use_resource_caching, false))
|
56
|
+
if !local_request? and RefinerySetting.find_or_set(:use_google_ajax_libraries, true)
|
57
|
+
"#{javascript_include_tag "http://www.google.com/jsapi"}
|
58
|
+
<script type='text/javascript'>
|
59
|
+
google.load('jquery', '1.4');
|
60
|
+
google.load('jqueryui', '1.8');
|
61
|
+
</script>"
|
62
|
+
else
|
63
|
+
javascript_include_tag 'jquery', 'jquery-ui-1.8rc1.min.js', :cache => (use_caching ? "cache/libraries" : nil)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
55
67
|
# you can override the object used for the title by supplying options[:object]
|
56
68
|
# this object must support custom_title_type if you want custom titles.
|
57
69
|
def page_title(options = {})
|
@@ -28,7 +28,7 @@ module Refinery
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def url
|
31
|
-
@url ||= "
|
31
|
+
@url ||= {:controller => "admin/#{self.directory.blank? ? self.title.gsub(" ", "_").downcase : self.directory.split('/').pop}"}
|
32
32
|
end
|
33
33
|
|
34
34
|
def menu_match
|
@@ -111,7 +111,7 @@ This file runs when your site is started up. All is does is registers this plugi
|
|
111
111
|
plugin.title = "Pages"
|
112
112
|
plugin.description = "Manage content pages"
|
113
113
|
plugin.version = 1.0
|
114
|
-
plugin.menu_match = /admin\/(
|
114
|
+
plugin.menu_match = /admin\/page(_dialog|part)?s$/
|
115
115
|
plugin.activity = {
|
116
116
|
:class => Page,
|
117
117
|
:url_prefix => "edit_",
|
@@ -131,7 +131,7 @@ In our example above we showed the use of ``plugin.activity`` for the pages plug
|
|
131
131
|
plugin.title = "Pages"
|
132
132
|
plugin.description = "Manage content pages"
|
133
133
|
plugin.version = 1.0
|
134
|
-
plugin.menu_match = /admin\/(
|
134
|
+
plugin.menu_match = /admin\/page(_dialog|part)?s$/
|
135
135
|
plugin.activity = {
|
136
136
|
:class => Page,
|
137
137
|
:url_prefix => "edit_",
|
@@ -1,17 +1,24 @@
|
|
1
1
|
class RefinerySetting < ActiveRecord::Base
|
2
|
-
class SettingNotFound < RuntimeError; end
|
3
2
|
|
4
3
|
validates_presence_of :name
|
5
4
|
validates_uniqueness_of :name
|
6
5
|
|
7
|
-
serialize :value
|
8
|
-
|
6
|
+
serialize :value # stores into YAML format
|
7
|
+
|
8
|
+
# Number of settings to show per page when using will_paginate
|
9
|
+
def self.per_page
|
10
|
+
10
|
11
|
+
end
|
12
|
+
|
13
|
+
# prettier version of the name.
|
14
|
+
# site_name becomes Site Name
|
9
15
|
def title
|
10
16
|
self.name.titleize
|
11
17
|
end
|
12
18
|
|
13
|
-
#
|
14
|
-
|
19
|
+
# Access method that allows dot notation to work.
|
20
|
+
# say you had a setting called "site_name". You could access that by going RefinerySetting[:site_name]
|
21
|
+
# but with this you can also access that by going RefinerySettting.site_name
|
15
22
|
def self.method_missing(method, *args)
|
16
23
|
method_name = method.to_s
|
17
24
|
super(method, *args)
|
@@ -24,8 +31,9 @@ class RefinerySetting < ActiveRecord::Base
|
|
24
31
|
end
|
25
32
|
end
|
26
33
|
|
27
|
-
def self.find_or_set(name,
|
28
|
-
|
34
|
+
def self.find_or_set(name, the_value)
|
35
|
+
setting = find_or_create_by_name(:name => name.to_s, :value => the_value)
|
36
|
+
setting.value
|
29
37
|
end
|
30
38
|
|
31
39
|
def self.[](name)
|
@@ -38,19 +46,37 @@ class RefinerySetting < ActiveRecord::Base
|
|
38
46
|
setting.save!
|
39
47
|
end
|
40
48
|
|
49
|
+
|
50
|
+
|
51
|
+
# Below is not very nice, but seems to be required
|
52
|
+
# The problem is when Rails serialises a fields like booleans
|
53
|
+
# it doesn't retreieve it back out as a boolean
|
54
|
+
# it just returns a string. This code maps the two boolean
|
55
|
+
# values correctly so a boolean is returned
|
41
56
|
REPLACEMENTS = {"true" => true, "false" => false}
|
42
57
|
|
43
58
|
def value
|
44
|
-
|
59
|
+
current_value = self[:value]
|
45
60
|
|
46
|
-
|
47
|
-
|
48
|
-
|
61
|
+
unless current_value.nil?
|
62
|
+
# This bit handles true and false so that true and false are actually returned
|
63
|
+
# not "0" and "1"
|
64
|
+
REPLACEMENTS.each do |current, new_value|
|
65
|
+
current_value = new_value if current_value == current
|
66
|
+
end
|
67
|
+
|
68
|
+
# converts the serialised value back to an integer
|
69
|
+
# if the value is an integer
|
70
|
+
begin
|
71
|
+
if current_value.to_i.to_s == current_value
|
72
|
+
current_value = current_value.to_i
|
73
|
+
end
|
74
|
+
rescue
|
75
|
+
current_value
|
49
76
|
end
|
50
|
-
_value = _value.to_i if _value.to_i.to_s == _value rescue _value
|
51
77
|
end
|
52
78
|
|
53
|
-
return
|
79
|
+
return current_value
|
54
80
|
end
|
55
81
|
|
56
82
|
def value=(new_value)
|
@@ -59,8 +85,4 @@ class RefinerySetting < ActiveRecord::Base
|
|
59
85
|
self[:value] = new_value
|
60
86
|
end
|
61
87
|
|
62
|
-
|
63
|
-
10
|
64
|
-
end
|
65
|
-
|
66
|
-
end
|
88
|
+
end
|
@@ -2,8 +2,7 @@ Refinery::Plugin.register do |plugin|
|
|
2
2
|
plugin.title = "Settings"
|
3
3
|
plugin.description = "Manage Refinery settings"
|
4
4
|
plugin.version = 1.0
|
5
|
-
plugin.
|
6
|
-
plugin.menu_match = /admin\/((refinery_settings)|(settings))$/
|
5
|
+
plugin.menu_match = /admin\/(refinery_)?settings$/
|
7
6
|
plugin.activity = {
|
8
7
|
:class => RefinerySetting,
|
9
8
|
:title => 'title',
|
@@ -1,18 +1,26 @@
|
|
1
1
|
class Resource < ActiveRecord::Base
|
2
2
|
|
3
|
+
# What is the max resource size a user can upload
|
4
|
+
MAX_SIZE_IN_MB = 50
|
5
|
+
|
3
6
|
# Docs for attachment_fu http://github.com/technoweenie/attachment_fu
|
4
7
|
has_attachment :storage => (USE_S3_BACKEND ? :s3 : :file_system),
|
5
|
-
:
|
8
|
+
:max_size => MAX_SIZE_IN_MB.megabytes,
|
6
9
|
:path_prefix => (USE_S3_BACKEND ? nil : 'public/system/resources')
|
7
10
|
|
11
|
+
# we could use validates_as_attachment but it produces 4 odd errors like
|
12
|
+
# "size is not in list". So we basically here enforce the same validation
|
13
|
+
# rules here accept display the error messages we want
|
14
|
+
# This is a known bug in attachment_fu
|
8
15
|
def validate
|
9
16
|
if self.filename.nil?
|
10
17
|
errors.add_to_base("You must choose a file to upload")
|
11
18
|
else
|
12
19
|
[:size].each do |attr_name|
|
13
20
|
enum = attachment_options[attr_name]
|
21
|
+
|
14
22
|
unless enum.nil? || enum.include?(send(attr_name))
|
15
|
-
errors.add_to_base("Files should be smaller than
|
23
|
+
errors.add_to_base("Files should be smaller than #{MAX_SIZE_IN_MB} MB in size") if attr_name == :size
|
16
24
|
end
|
17
25
|
end
|
18
26
|
end
|
@@ -45,7 +45,7 @@ class Theme < ActiveRecord::Base
|
|
45
45
|
|
46
46
|
def read_theme
|
47
47
|
self.title = File.basename(self.full_filename).split(".").first.titleize
|
48
|
-
self.
|
48
|
+
self.licence = File.open(File.join(theme_path, "LICENCE")).read if File.exists? File.join(theme_path, "LICENCE")
|
49
49
|
self.description = File.open(File.join(theme_path, "README")).read if File.exists? File.join(theme_path, "README")
|
50
50
|
end
|
51
51
|
|
@@ -7,20 +7,29 @@ class ThemeServer
|
|
7
7
|
def initialize(app)
|
8
8
|
@app = app
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
def call(env)
|
12
12
|
if env["PATH_INFO"] =~ /^\/theme/
|
13
13
|
relative_path = env["PATH_INFO"].gsub(/^\/theme\//, '')
|
14
14
|
|
15
15
|
if (file_path = Rails.root.join "themes", RefinerySetting[:theme], relative_path).exist?
|
16
|
-
|
16
|
+
# generate an etag for client-side caching.
|
17
|
+
etag = Digest::MD5.hexdigest("#{file_path.to_s}#{file_path.mtime}")
|
18
|
+
unless env["HTTP_IF_NONE_MATCH"] == etag
|
19
|
+
[200, {
|
20
|
+
"Content-Type" => Rack::Mime.mime_type(file_path.extname),
|
21
|
+
"ETag" => etag
|
22
|
+
}, file_path.open]
|
23
|
+
else
|
24
|
+
[304, {"Content-Type" => Rack::Mime.mime_type(file_path.extname)}, "Not Modified"]
|
25
|
+
end
|
17
26
|
else
|
18
|
-
[404, {"Content-Type" => "text/html"}, ["
|
27
|
+
[404, {"Content-Type" => "text/html"}, ["Not Found"]]
|
19
28
|
end
|
20
29
|
else
|
21
30
|
status, headers, response = @app.call(env)
|
22
31
|
[status, headers, response]
|
23
32
|
end
|
24
33
|
end
|
25
|
-
|
34
|
+
|
26
35
|
end
|
@@ -11,4 +11,15 @@ Refinery::Plugin.register do |plugin|
|
|
11
11
|
}
|
12
12
|
end
|
13
13
|
|
14
|
-
config.middleware.use "ThemeServer"
|
14
|
+
config.middleware.use "ThemeServer"
|
15
|
+
::ActionController::Base.module_eval %(
|
16
|
+
view_paths.unshift Rails.root.join("themes", RefinerySetting[:theme], "views").to_s if RefinerySetting[:theme].present?
|
17
|
+
)
|
18
|
+
|
19
|
+
# set up controller paths.
|
20
|
+
if RefinerySetting[:theme].present?
|
21
|
+
controller_path = Rails.root.join("themes", RefinerySetting[:theme], "controllers").to_s
|
22
|
+
|
23
|
+
::ActiveSupport::Dependencies.load_paths.unshift controller_path
|
24
|
+
config.controller_paths.unshift controller_path
|
25
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: refinerycms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.6.
|
4
|
+
version: 0.9.6.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Resolve Digital
|
@@ -11,7 +11,7 @@ autorequire:
|
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
13
|
|
14
|
-
date: 2010-02-
|
14
|
+
date: 2010-02-15 00:00:00 +13:00
|
15
15
|
default_executable:
|
16
16
|
dependencies: []
|
17
17
|
|
@@ -32,6 +32,7 @@ files:
|
|
32
32
|
- .gems
|
33
33
|
- .gitignore
|
34
34
|
- .yardopts
|
35
|
+
- Gemfile
|
35
36
|
- Rakefile
|
36
37
|
- VERSION
|
37
38
|
- app/controllers/admin/base_controller.rb
|
@@ -42,6 +43,7 @@ files:
|
|
42
43
|
- bin/refinery-override
|
43
44
|
- bin/refinery-update-core
|
44
45
|
- config/amazon_s3.yml.example
|
46
|
+
- config/application.rb
|
45
47
|
- config/boot.rb
|
46
48
|
- config/database.yml.example
|
47
49
|
- config/environment.rb
|
@@ -67,6 +69,7 @@ files:
|
|
67
69
|
- doc/.yardoc/checksums
|
68
70
|
- doc/.yardoc/objects/root.dat
|
69
71
|
- doc/.yardoc/proxy_types
|
72
|
+
- lib/attachment_fu_patch.rb
|
70
73
|
- lib/refinery_initializer.rb
|
71
74
|
- license.md
|
72
75
|
- public/.htaccess
|
@@ -214,16 +217,42 @@ files:
|
|
214
217
|
- script/server
|
215
218
|
- test/files/The world!.gif
|
216
219
|
- test/files/car-wallpapers19.jpg
|
220
|
+
- test/files/teng.pdf
|
217
221
|
- test/fixtures/images.yml
|
222
|
+
- test/fixtures/inquiries.yml
|
223
|
+
- test/fixtures/news_items.yml
|
218
224
|
- test/fixtures/page_parts.yml
|
219
225
|
- test/fixtures/pages.yml
|
226
|
+
- test/fixtures/refinery_settings.yml
|
227
|
+
- test/fixtures/resources.yml
|
228
|
+
- test/fixtures/themes.yml
|
220
229
|
- test/performance/browsing_test.rb
|
221
230
|
- test/test_helper.rb
|
222
231
|
- test/unit/image_test.rb
|
232
|
+
- test/unit/inquiry_test.rb
|
233
|
+
- test/unit/news_items_test.rb
|
223
234
|
- test/unit/page_part_test.rb
|
224
235
|
- test/unit/page_test.rb
|
236
|
+
- test/unit/refinery_setting_test.rb
|
237
|
+
- test/unit/resource_test.rb
|
238
|
+
- test/unit/theme_test.rb
|
225
239
|
- themes/demolicious.zip
|
226
240
|
- themes/hemingway.zip
|
241
|
+
- todo.md
|
242
|
+
- vendor/cache/aasm-2.1.3.gem
|
243
|
+
- vendor/cache/actionmailer-2.3.5.gem
|
244
|
+
- vendor/cache/actionpack-2.3.5.gem
|
245
|
+
- vendor/cache/activerecord-2.3.5.gem
|
246
|
+
- vendor/cache/activeresource-2.3.5.gem
|
247
|
+
- vendor/cache/activesupport-2.3.5.gem
|
248
|
+
- vendor/cache/friendly_id-2.3.1.gem
|
249
|
+
- vendor/cache/hpricot-0.8.2.gem
|
250
|
+
- vendor/cache/rack-1.0.1.gem
|
251
|
+
- vendor/cache/rails-2.3.5.gem
|
252
|
+
- vendor/cache/rake-0.8.7.gem
|
253
|
+
- vendor/cache/rubyzip-0.9.1.gem
|
254
|
+
- vendor/cache/slim_scrooge-1.0.3.gem
|
255
|
+
- vendor/cache/will_paginate-2.3.11.gem
|
227
256
|
- vendor/plugins/acts_as_indexed/CHANGELOG
|
228
257
|
- vendor/plugins/acts_as_indexed/MIT-LICENSE
|
229
258
|
- vendor/plugins/acts_as_indexed/README.rdoc
|
@@ -562,5 +591,10 @@ test_files:
|
|
562
591
|
- test/performance/browsing_test.rb
|
563
592
|
- test/test_helper.rb
|
564
593
|
- test/unit/image_test.rb
|
594
|
+
- test/unit/inquiry_test.rb
|
595
|
+
- test/unit/news_items_test.rb
|
565
596
|
- test/unit/page_part_test.rb
|
566
597
|
- test/unit/page_test.rb
|
598
|
+
- test/unit/refinery_setting_test.rb
|
599
|
+
- test/unit/resource_test.rb
|
600
|
+
- test/unit/theme_test.rb
|