refinerycms 0.9.6.12 → 0.9.6.13
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/.gitignore +0 -1
- data/Gemfile +2 -3
- data/Rakefile +22 -8
- data/VERSION +1 -1
- data/bin/refinery +2 -2
- data/config/application.rb +5 -6
- data/config/preinitializer.rb +3 -5
- data/db/migrate/20100223211536_remove_themes_table.rb +17 -0
- data/db/schema.rb +1 -12
- data/db/seeds.rb +2 -10
- data/lib/refinery_initializer.rb +14 -10
- data/public/javascripts/refinery/admin.js +20 -13
- data/readme.md +15 -9
- data/test/fixtures/users.yml +16 -0
- data/test/functional/dashboard_controller_test.rb +24 -0
- data/test/test_helper.rb +5 -0
- data/themes/demolicious/LICENSE +21 -0
- data/themes/demolicious/README +1 -0
- data/themes/demolicious/images/footer_background.png +0 -0
- data/themes/demolicious/images/header_background.png +0 -0
- data/themes/demolicious/stylesheets/application.css +94 -0
- data/themes/demolicious/stylesheets/formatting.css +36 -0
- data/themes/demolicious/stylesheets/home.css +8 -0
- data/themes/demolicious/stylesheets/ie6.css +0 -0
- data/themes/demolicious/stylesheets/ie7.css +0 -0
- data/themes/demolicious/views/layouts/application.html.erb +20 -0
- data/themes/demolicious/views/pages/home.html.erb +1 -0
- data/themes/demolicious/views/pages/show.html.erb +1 -0
- data/themes/hemingway/LICENSE +7 -0
- data/themes/hemingway/README +3 -0
- data/themes/hemingway/images/archives.gif +0 -0
- data/themes/hemingway/images/footer_black.gif +0 -0
- data/themes/hemingway/images/kyle-header.jpg +0 -0
- data/themes/hemingway/images/readon_black.gif +0 -0
- data/themes/hemingway/images/search.gif +0 -0
- data/themes/hemingway/images/spinner.gif +0 -0
- data/themes/hemingway/images/trackback_pingback.gif +0 -0
- data/themes/hemingway/stylesheets/application.css +713 -0
- data/themes/hemingway/stylesheets/formatting.css +1 -0
- data/themes/hemingway/stylesheets/home.css +1 -0
- data/themes/hemingway/views/layouts/application.html.erb +55 -0
- data/todo.md +3 -1
- data/vendor/plugins/authentication/app/controllers/users_controller.rb +3 -5
- data/vendor/plugins/dashboard/app/controllers/admin/dashboard_controller.rb +1 -0
- data/vendor/plugins/dashboard/app/helpers/admin/dashboard_helper.rb +1 -1
- data/vendor/plugins/images/app/models/image.rb +2 -2
- data/vendor/plugins/pages/rails/init.rb +1 -1
- data/vendor/plugins/refinery/app/views/shared/_menu_branch.html.erb +1 -1
- data/vendor/plugins/refinery/lib/generators/refinery/templates/views/admin/_singular_name.html.erb +0 -1
- data/vendor/plugins/refinery/lib/refinery.rb +1 -0
- data/vendor/plugins/refinery/lib/refinery/admin_base_controller.rb +4 -3
- data/vendor/plugins/refinery/lib/refinery/application_controller.rb +0 -1
- data/vendor/plugins/refinery/lib/refinery/application_helper.rb +0 -27
- data/vendor/plugins/refinery/lib/refinery/initializer.rb +10 -5
- data/vendor/plugins/refinery_settings/app/views/admin/refinery_settings/_refinery_setting.html.erb +0 -1
- data/vendor/plugins/resources/app/models/resource.rb +2 -2
- data/vendor/plugins/themes/app/helpers/themes_helper.rb +25 -0
- data/vendor/plugins/themes/lib/theme_server.rb +11 -7
- data/vendor/plugins/themes/rails/init.rb +18 -19
- data/vendor/plugins/themes/themes.md +1 -23
- metadata +43 -18
- data/test/fixtures/themes.yml +0 -5
- data/test/unit/theme_test.rb +0 -19
- data/vendor/plugins/themes/app/controllers/admin/themes_controller.rb +0 -25
- data/vendor/plugins/themes/app/models/theme.rb +0 -56
- data/vendor/plugins/themes/app/views/admin/themes/_form.html.erb +0 -11
- data/vendor/plugins/themes/app/views/admin/themes/_theme.html.erb +0 -18
- data/vendor/plugins/themes/app/views/admin/themes/edit.html.erb +0 -1
- data/vendor/plugins/themes/app/views/admin/themes/index.html.erb +0 -34
- data/vendor/plugins/themes/app/views/admin/themes/new.html.erb +0 -1
- data/vendor/plugins/themes/config/routes.rb +0 -12
data/.gitignore
CHANGED
data/Gemfile
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
# Please add your gems above the Refinery required gems here:
|
2
2
|
|
3
3
|
#===REFINERY REQUIRED GEMS===
|
4
|
-
source "http://
|
4
|
+
source "http://rubygems.org"
|
5
5
|
gem "aasm", ">= 2.1.3", :require => "aasm"
|
6
6
|
gem "friendly_id", ">= 2.2.2", :require => "friendly_id"
|
7
7
|
gem "hpricot", ">= 0.8.1", :require => "hpricot"
|
8
|
-
gem "slim_scrooge", ">= 1.0.
|
8
|
+
gem "slim_scrooge", ">= 1.0.5", :require => "slim_scrooge"
|
9
9
|
gem "will_paginate", ">= 2.3.11", :require => "will_paginate"
|
10
10
|
gem "rails", ">= 2.3.5", :require => "rails"
|
11
|
-
gem "rubyzip", ">= 0.9.1", :require => "zip/zip"
|
12
11
|
gem "rake", ">= 0.8.3", :require => "rake"
|
13
12
|
#===REFINERY END OF REQUIRED GEMS===
|
data/Rakefile
CHANGED
@@ -3,30 +3,44 @@
|
|
3
3
|
|
4
4
|
begin
|
5
5
|
# Load up the environment instead of just the boot file because we want all of the tasks available.
|
6
|
-
require
|
6
|
+
require File.join(File.dirname(__FILE__), 'config', 'environment')
|
7
7
|
rescue Exception
|
8
|
+
# Log the exception to the console/logfile.
|
9
|
+
puts "*** Couldn't load the config/environment file because something went wrong. Trace below: ***"
|
10
|
+
puts $!.backtrace
|
11
|
+
puts "\n*** So, we'll attempt to load in config/boot instead... ***"
|
12
|
+
|
8
13
|
# Load up the boot file instead because there's something wrong with the environment.
|
9
|
-
require
|
14
|
+
require File.join(File.dirname(__FILE__), 'config', 'boot')
|
10
15
|
end
|
11
16
|
|
17
|
+
# Require the standard stuff
|
12
18
|
require 'rake'
|
13
19
|
require 'rake/testtask'
|
14
20
|
require 'rake/rdoctask'
|
15
|
-
|
16
21
|
require 'tasks/rails'
|
17
22
|
|
23
|
+
# Because we use plugins that are shipped via gems, we lose their rake tasks.
|
24
|
+
# So here, we find them (if there are any) and include them into rake.
|
18
25
|
extra_rake_tasks = []
|
19
|
-
|
20
|
-
extra_rake_tasks << Dir[Refinery.root.join("vendor", "plugins", "*", "**", "tasks", "**", "*", "*.rake")].sort
|
26
|
+
if Refinery.is_a_gem
|
27
|
+
extra_rake_tasks << Dir[Refinery.root.join("vendor", "plugins", "*", "**", "tasks", "**", "*", "*.rake")].sort
|
28
|
+
end
|
29
|
+
|
21
30
|
# We also need to load in the rake tasks from gem plugins whether Refinery is a gem or not:
|
22
|
-
|
31
|
+
if defined?($refinery_gem_plugin_lib_paths) && !$refinery_gem_plugin_lib_paths.nil?
|
32
|
+
extra_rake_tasks << $refinery_gem_plugin_lib_paths.collect {|path| Dir[File.join(%W(#{path} tasks ** *.rake))].sort}
|
33
|
+
end
|
34
|
+
|
35
|
+
# Load in any extra tasks that we've found.
|
23
36
|
extra_rake_tasks.flatten.compact.uniq.each {|rake| load rake }
|
24
37
|
|
25
|
-
desc 'Removes trailing whitespace'
|
38
|
+
desc 'Removes trailing whitespace across the entire application.'
|
26
39
|
task :whitespace do
|
27
40
|
sh %{find . -name '*.*rb' -exec sed -i '' 's/\t/ /g' {} \\; -exec sed -i '' 's/ *$//g' {} \\; }
|
28
41
|
end
|
29
42
|
|
43
|
+
# You don't need to worry about this unless you're releasing Refinery gems.
|
30
44
|
begin
|
31
45
|
require 'jeweler'
|
32
46
|
Jeweler::Tasks.new do |s|
|
@@ -43,7 +57,7 @@ begin
|
|
43
57
|
|
44
58
|
namespace :version do
|
45
59
|
namespace :bump do
|
46
|
-
desc "Bump the
|
60
|
+
desc "Bump the application's version by a build version."
|
47
61
|
task :build => [:version_required, :version] do
|
48
62
|
version = Jeweler::VersionHelper.new(Rails.root.to_s)
|
49
63
|
version.update_to(version.major, version.minor, version.patch, ((version.build || 0).to_i + 1))
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.6.
|
1
|
+
0.9.6.13
|
data/bin/refinery
CHANGED
@@ -20,11 +20,11 @@ unless (app_path = ARGV.shift).nil? or app_path.length == 0
|
|
20
20
|
FileUtils::makedirs RAILS_ROOT
|
21
21
|
|
22
22
|
# copy in all of the relevant directories and root files.
|
23
|
-
to_copy = %w(app config db lib public script contributors.md license.md Rakefile readme.md VERSION).map do |dir|
|
23
|
+
to_copy = %w(app config db lib public themes script contributors.md license.md Rakefile readme.md VERSION).map do |dir|
|
24
24
|
REFINERY_ROOT.join(dir).to_s
|
25
25
|
end
|
26
26
|
FileUtils::cp_r to_copy, RAILS_ROOT, :verbose => false
|
27
|
-
|
27
|
+
|
28
28
|
# ensure lib/refinery_initializer.rb doesn't make it in.
|
29
29
|
FileUtils::rm File.join(%W(#{RAILS_ROOT} lib refinery_initializer.rb)) if File.exists?(File.join(%W(#{RAILS_ROOT} lib refinery_initializer.rb)))
|
30
30
|
|
data/config/application.rb
CHANGED
@@ -21,7 +21,7 @@ else
|
|
21
21
|
# Specifies gem version of Rails to use when vendor/rails is not present
|
22
22
|
RAILS_GEM_VERSION = '2.3.5' unless defined? RAILS_GEM_VERSION
|
23
23
|
# Freeze to a specific version of refinerycms when running as a gem
|
24
|
-
# REFINERY_GEM_VERSION = '0.9.6' unless defined? REFINERY_GEM_VERSION
|
24
|
+
# REFINERY_GEM_VERSION = '0.9.6.13' unless defined? REFINERY_GEM_VERSION
|
25
25
|
|
26
26
|
# Bootstrap the Rails environment, frameworks, and default configuration
|
27
27
|
require File.join(File.dirname(__FILE__), 'boot')
|
@@ -78,13 +78,12 @@ else
|
|
78
78
|
#===REFINERY REQUIRED GEMS===
|
79
79
|
config.gem "bundler", :version => ">= 0.9.4"
|
80
80
|
config.gem "rake", :version => ">= 0.8.3", :lib => "rake"
|
81
|
-
config.gem "rubyzip", :version => ">= 0.9.1", :lib => "zip/zip"
|
82
81
|
config.gem "friendly_id", :version => ">= 2.2.2", :lib => "friendly_id"
|
83
|
-
config.gem "will_paginate", :version => ">= 2.3.11", :lib => "will_paginate"
|
82
|
+
config.gem "will_paginate", :version => ">= 2.3.11", :lib => "will_paginate"
|
84
83
|
config.gem "rails", :version => ">= 2.3.5", :lib => "rails"
|
85
|
-
config.gem "aasm", :version => ">= 2.1.3", :lib => "aasm"
|
86
|
-
config.gem "slim_scrooge", :version => ">= 1.0.
|
87
|
-
config.gem "hpricot", :version => ">= 0.8.1", :lib => "hpricot"
|
84
|
+
config.gem "aasm", :version => ">= 2.1.3", :lib => "aasm"
|
85
|
+
config.gem "slim_scrooge", :version => ">= 1.0.5", :lib => "slim_scrooge"
|
86
|
+
config.gem "hpricot", :version => ">= 0.8.1", :lib => "hpricot"
|
88
87
|
#===REFINERY END OF REQUIRED GEMS===
|
89
88
|
end
|
90
89
|
end
|
data/config/preinitializer.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'pathname'
|
2
2
|
|
3
3
|
# until Rails 3
|
4
|
-
ENV["GEM_HOME"] = File.expand_path('../../vendor/bundler_gems', __FILE__)
|
4
|
+
# ENV["GEM_HOME"] = File.expand_path('../../vendor/bundler_gems', __FILE__)
|
5
5
|
|
6
6
|
# pick the refinery root path
|
7
|
-
rails_root = defined?(Rails.root) ? Rails.root : Pathname.new(RAILS_ROOT)
|
7
|
+
rails_root = (defined?(Rails.root) ? Rails.root : Pathname.new(RAILS_ROOT)).cleanpath
|
8
8
|
if (non_gem_path = rails_root.join("lib", "refinery_initializer.rb")).exist?
|
9
9
|
require non_gem_path.to_s
|
10
10
|
else
|
@@ -14,7 +14,7 @@ else
|
|
14
14
|
elsif ENV.include?("REFINERY_GEM_VERSION")
|
15
15
|
ENV["REFINERY_GEM_VERSION"]
|
16
16
|
else
|
17
|
-
$1 if rails_root.join("config", "application.rb") =~ /^[^#]*REFINERY_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
|
17
|
+
$1 if rails_root.join("config", "application.rb").read =~ /^[^#]*REFINERY_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
|
18
18
|
end
|
19
19
|
|
20
20
|
if version
|
@@ -26,8 +26,6 @@ else
|
|
26
26
|
require 'refinery_initializer'
|
27
27
|
end
|
28
28
|
|
29
|
-
Refinery.root = rails_root unless defined?(Refinery.root) && Refinery.root.is_a?(Pathname)
|
30
|
-
|
31
29
|
# Set to true in your environment specific file (e.g. production.rb) to use Amazon's Simple
|
32
30
|
# Storage Service instead of the default file system for resources and images
|
33
31
|
USE_S3_BACKEND = false unless defined?(USE_S3_BACKEND)
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class RemoveThemesTable < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
drop_table :themes
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.down
|
7
|
+
create_table "themes", :force => true do |t|
|
8
|
+
t.integer "size"
|
9
|
+
t.string "content_type"
|
10
|
+
t.string "filename"
|
11
|
+
t.string "title"
|
12
|
+
t.text "description"
|
13
|
+
t.text "license"
|
14
|
+
t.timestamps
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/db/schema.rb
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
#
|
10
10
|
# It's strongly recommended to check this file into your version control system.
|
11
11
|
|
12
|
-
ActiveRecord::Schema.define(:version =>
|
12
|
+
ActiveRecord::Schema.define(:version => 20100223211536) do
|
13
13
|
|
14
14
|
create_table "images", :force => true do |t|
|
15
15
|
t.integer "parent_id"
|
@@ -119,17 +119,6 @@ ActiveRecord::Schema.define(:version => 20100204011654) do
|
|
119
119
|
add_index "slugs", ["name", "sluggable_type", "scope", "sequence"], :name => "index_slugs_on_name_and_sluggable_type_and_scope_and_sequence", :unique => true
|
120
120
|
add_index "slugs", ["sluggable_id"], :name => "index_slugs_on_sluggable_id"
|
121
121
|
|
122
|
-
create_table "themes", :force => true do |t|
|
123
|
-
t.integer "size"
|
124
|
-
t.string "content_type"
|
125
|
-
t.string "filename"
|
126
|
-
t.string "title"
|
127
|
-
t.text "description"
|
128
|
-
t.text "licence"
|
129
|
-
t.datetime "created_at"
|
130
|
-
t.datetime "updated_at"
|
131
|
-
end
|
132
|
-
|
133
122
|
create_table "user_plugins", :force => true do |t|
|
134
123
|
t.integer "user_id"
|
135
124
|
t.string "title"
|
data/db/seeds.rb
CHANGED
@@ -117,13 +117,5 @@ Page.create(:title => "Down for maintenance",
|
|
117
117
|
:body => "<p>Our site is currently down for maintenance. Please try back later.</p>"
|
118
118
|
})
|
119
119
|
|
120
|
-
#
|
121
|
-
Rails.root.join("themes").mkdir unless Rails.root.join("themes").directory?
|
122
|
-
Dir[Refinery.root.join("themes", "*.zip")].each do |theme|
|
123
|
-
Theme.create(:uploaded_data => {
|
124
|
-
"size" => File.size(theme),
|
125
|
-
"content_type" => "application/zip",
|
126
|
-
"filename" => theme.split('/').last,
|
127
|
-
'tempfile' => File.open(theme)
|
128
|
-
}).read_theme
|
129
|
-
end
|
120
|
+
# Create a default themes directory.
|
121
|
+
Rails.root.join("themes").mkdir unless Rails.root.join("themes").directory?
|
data/lib/refinery_initializer.rb
CHANGED
@@ -1,17 +1,21 @@
|
|
1
1
|
require 'pathname'
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
root_directory = Pathname.new(File.expand_path(File.dirname(__FILE__) << "/.."))
|
3
|
+
rails_root = ((defined?(Rails.root) && Rails.root.realpath.length > 0) ? Rails.root : Pathname.new(RAILS_ROOT))
|
4
|
+
|
5
|
+
if (non_gem_refinery = rails_root.join("vendor", "plugins", "refinery", "lib", "refinery.rb")).exist?
|
6
|
+
require non_gem_refinery.realpath.to_s # this won't exist when using a gem.
|
7
|
+
else
|
8
|
+
require root_directory.join("vendor", "plugins", "refinery", "lib", "refinery.rb").realpath.to_s
|
6
9
|
end
|
7
10
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
11
|
+
# Now we need to set some things that are used by the rest of the application.
|
12
|
+
Refinery.root = root_directory.cleanpath
|
13
|
+
if (Refinery.is_a_gem = (Refinery.root.realpath != rails_root.realpath))
|
14
|
+
# If Refinery is installed from a gem then we need to load in a few extra files.
|
15
|
+
$LOAD_PATH.unshift Refinery.root.join("vendor", "plugins").to_s
|
16
|
+
$LOAD_PATH.unshift Refinery.root.join("vendor", "plugins", "refinery", "lib").to_s
|
12
17
|
|
13
|
-
|
14
|
-
Refinery.root = refinery_root
|
18
|
+
# We also need the refinery initializer when using a gem because this won't be autoloaded.
|
15
19
|
require 'refinery/initializer'
|
16
20
|
end
|
17
21
|
|
@@ -583,25 +583,32 @@ var list_reorder = {
|
|
583
583
|
, disable_reordering: function(e) {
|
584
584
|
if(e) { e.preventDefault(); }
|
585
585
|
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
586
|
+
if (list_reorder.update_url != null) {
|
587
|
+
serialized = "";
|
588
|
+
list_reorder.sortable_list.find('> li[id]').each(function(index, li) {
|
589
|
+
if (list_reorder.tree) {
|
590
|
+
serialized += list_reorder.parse_branch([index], li);
|
591
|
+
}
|
592
|
+
else {
|
593
|
+
serialized += "&sortable_list[]=" + $($(li).attr('id').split('_')).last().get(0);
|
594
|
+
}
|
595
|
+
});
|
596
|
+
serialized += "&tree=" + list_reorder.tree + "&authenticity_token=" + encodeURIComponent($('#reorder_authenticity_token').val() + "&continue_reordering=false");
|
596
597
|
|
597
|
-
|
598
|
-
|
598
|
+
$.post(list_reorder.update_url, serialized, function(data) {
|
599
|
+
$(list_reorder.sortable_list.get(0)).html(data);
|
599
600
|
|
601
|
+
$(list_reorder.sortable_list).removeClass('reordering').sortable('destroy');
|
602
|
+
|
603
|
+
$('#reorder_action_done').hide();
|
604
|
+
$('#reorder_action').show();
|
605
|
+
});
|
606
|
+
} else {
|
600
607
|
$(list_reorder.sortable_list).removeClass('reordering').sortable('destroy');
|
601
608
|
|
602
609
|
$('#reorder_action_done').hide();
|
603
610
|
$('#reorder_action').show();
|
604
|
-
}
|
611
|
+
}
|
605
612
|
}
|
606
613
|
}
|
607
614
|
|
data/readme.md
CHANGED
@@ -29,14 +29,14 @@ Unlike other content managers, Refinery is truly aimed at the end user making it
|
|
29
29
|
|
30
30
|
Refinery runs using a number of gems which (as of Refinery version 0.9.5.29) are outlined below:
|
31
31
|
|
32
|
-
* [rake >= 0.8.3](http://
|
33
|
-
* [friendly_id >= 2.2.2](http://
|
34
|
-
* [will_paginate >= 2.3.11](http://
|
35
|
-
* [rails >= 2.3.5](http://
|
36
|
-
* [aasm >= 2.1.3](http://
|
37
|
-
* [unicode >= 0.1](http://
|
38
|
-
* [hpricot >= 0.8.1](http://
|
39
|
-
* [slim_scrooge >= 1.0.
|
32
|
+
* [rake >= 0.8.3](http://rubygems.org/gems/rake)
|
33
|
+
* [friendly_id >= 2.2.2](http://rubygems.org/gems/friendly_id)
|
34
|
+
* [will_paginate >= 2.3.11](http://rubygems.org/gems/will_paginate)
|
35
|
+
* [rails >= 2.3.5](http://rubygems.org/gems/rails)
|
36
|
+
* [aasm >= 2.1.3](http://rubygems.org/gems/aasm)
|
37
|
+
* [unicode >= 0.1](http://rubygems.org/gems/unicode)
|
38
|
+
* [hpricot >= 0.8.1](http://rubygems.org/gems/hpricot)
|
39
|
+
* [slim_scrooge >= 1.0.5](http://rubygems.org/gems/slim_scrooge)
|
40
40
|
|
41
41
|
### Other dependancies
|
42
42
|
|
@@ -49,7 +49,7 @@ Mac OS users [shell install script](http://github.com/maddox/magick-installer) w
|
|
49
49
|
|
50
50
|
#### Install the Gem
|
51
51
|
|
52
|
-
gem install refinerycms
|
52
|
+
gem install refinerycms
|
53
53
|
refinery path/to/project
|
54
54
|
|
55
55
|
#### Or, clone Refinery's GIT repository
|
@@ -164,6 +164,12 @@ Extend Refinery easily by running the Refinery generator
|
|
164
164
|
|
165
165
|
to get help on how to use that. Or read the full documentation on [writing plugins for Refinery](http://github.com/resolve/refinerycms/blob/master/vendor/plugins/refinery/plugins.md)
|
166
166
|
|
167
|
+
### Run the Tests
|
168
|
+
|
169
|
+
If you have installed Refinery using GIT (described above in step 1 of installing Refinery) then you'll be able to run the tests. At your Rails root run:
|
170
|
+
|
171
|
+
rake test
|
172
|
+
|
167
173
|
### What about a portfolio?
|
168
174
|
|
169
175
|
Check out the [portfolio plugin gem](http://github.com/resolve/refinery-portfolio)
|
@@ -0,0 +1,16 @@
|
|
1
|
+
quentin:
|
2
|
+
id: 1
|
3
|
+
login: quentin
|
4
|
+
email: quentin@example.com
|
5
|
+
salt: 7e3041ebc2fc05a40c60028e2c4901a81035d3cd
|
6
|
+
crypted_password: 00742970dc9e6319f8019fd54864d3ea740f04b1 # test
|
7
|
+
created_at: <%%= 5.days.ago.to_s :db %>
|
8
|
+
state: active
|
9
|
+
aaron:
|
10
|
+
id: 2
|
11
|
+
login: aaron
|
12
|
+
email: aaron@example.com
|
13
|
+
salt: 7e3041ebc2fc05a40c60028e2c4901a81035d3cd
|
14
|
+
crypted_password: 00742970dc9e6319f8019fd54864d3ea740f04b1 # test
|
15
|
+
created_at: <%%= 1.days.ago.to_s :db %>
|
16
|
+
state: pending
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
+
require 'admin/dashboard_controller'
|
3
|
+
|
4
|
+
class Admin::DashboardController; def rescue_action(e) raise e end; end
|
5
|
+
|
6
|
+
class DashboardControllerTest < ActionController::TestCase
|
7
|
+
|
8
|
+
fixtures :users
|
9
|
+
|
10
|
+
def setup
|
11
|
+
@controller = Admin::DashboardController.new
|
12
|
+
@request = ActionController::TestRequest.new
|
13
|
+
@response = ActionController::TestResponse.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_should_get_index
|
17
|
+
login_as(:quentin)
|
18
|
+
|
19
|
+
get :index
|
20
|
+
assert_response :success
|
21
|
+
assert_not_nil assigns(:recent_activity)
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
== MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2005-2009 Resolve Digital Ltd.
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
@@ -0,0 +1 @@
|
|
1
|
+
Clean simple theme used and provided for free with Refinery. It's used in the demo Refinery site, http://demo.refinerycms.org
|
Binary file
|
Binary file
|
@@ -0,0 +1,94 @@
|
|
1
|
+
@import url('/stylesheets/refinery/application.css');
|
2
|
+
/*
|
3
|
+
Override default refinery application CSS below.
|
4
|
+
Formatting applies to all frontend.
|
5
|
+
*/
|
6
|
+
body {
|
7
|
+
margin: 0px;
|
8
|
+
padding: 0px;
|
9
|
+
}
|
10
|
+
#body_content {
|
11
|
+
margin-top: 36px;
|
12
|
+
}
|
13
|
+
#body_content_left {
|
14
|
+
width: 544px;
|
15
|
+
}
|
16
|
+
#body_content_right {
|
17
|
+
width: 396px;
|
18
|
+
}
|
19
|
+
#body_content_right img {
|
20
|
+
border: 3px solid #c7c7c7;
|
21
|
+
}
|
22
|
+
#page {
|
23
|
+
width: 100%;
|
24
|
+
padding: 0px;
|
25
|
+
margin: 0px;
|
26
|
+
}
|
27
|
+
#body, #header_content, #footer_content {
|
28
|
+
width: 960px;
|
29
|
+
margin: 0px auto;
|
30
|
+
}
|
31
|
+
#header {
|
32
|
+
background: url('/theme/images/header_background.png') repeat-x;
|
33
|
+
}
|
34
|
+
#header_content {
|
35
|
+
position: relative;
|
36
|
+
height: 132px;
|
37
|
+
}
|
38
|
+
#header_content h1, #header_content h1 a {
|
39
|
+
color: #feffff;
|
40
|
+
font-size: 24px;
|
41
|
+
font-weight: normal;
|
42
|
+
left: 0px;
|
43
|
+
text-decoration: none;
|
44
|
+
}
|
45
|
+
#header_content h1, #header_content #menu {
|
46
|
+
position: absolute;
|
47
|
+
bottom: 30px;
|
48
|
+
margin: 0px;
|
49
|
+
}
|
50
|
+
#header_content #menu {
|
51
|
+
right: 0px;
|
52
|
+
padding: 0px;
|
53
|
+
}
|
54
|
+
#menu li {
|
55
|
+
float: left;
|
56
|
+
list-style: none;
|
57
|
+
position: relative;
|
58
|
+
}
|
59
|
+
#menu li a, #menu li:hover ul li a {
|
60
|
+
color: #969792;
|
61
|
+
display: block;
|
62
|
+
padding: 10px 18px;
|
63
|
+
text-decoration: none;
|
64
|
+
cursor: pointer;
|
65
|
+
}
|
66
|
+
#menu li.selected a, #menu li:hover a, #menu li a:hover, #menu li ul li a:hover {
|
67
|
+
color: #32322b;
|
68
|
+
background: white;
|
69
|
+
}
|
70
|
+
#menu li ul {
|
71
|
+
position: absolute;
|
72
|
+
left: -99999px;
|
73
|
+
padding: 0px;
|
74
|
+
margin: 0px;
|
75
|
+
min-width: 140px;
|
76
|
+
max-width: 300px;
|
77
|
+
background: white;
|
78
|
+
}
|
79
|
+
#menu li ul li {
|
80
|
+
float: left;
|
81
|
+
}
|
82
|
+
#menu li:hover ul {
|
83
|
+
left: auto;
|
84
|
+
}
|
85
|
+
#footer {
|
86
|
+
margin-top: 120px;
|
87
|
+
background: url('/theme/images/footer_background.png') repeat-x;
|
88
|
+
}
|
89
|
+
#footer_content {
|
90
|
+
height: 103px;
|
91
|
+
padding-top: 94px;
|
92
|
+
background: url('/images/refinery/logo.png') 0px 80px no-repeat;
|
93
|
+
text-align: right;
|
94
|
+
}
|