refinerycms 0.9.6.12 → 0.9.6.13
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
}
|