From 93421980d48b968b825922063c2dab9e9ee8cb4c Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Sun, 16 Feb 2014 19:08:29 +0100 Subject: Add refinery-banners engine. --- Gemfile | 2 ++ Gemfile.lock | 3 ++ .../refinery/pages_controller_decorator.rb | 3 ++ .../refinery/banners/shared/_banner_image.html.erb | 1 + app/views/refinery/pages/home.html.erb | 2 ++ ...5731_create_banners_banners.refinery_banners.rb | 35 ++++++++++++++++++++++ ...reate_banners_banners_pages.refinery_banners.rb | 16 ++++++++++ db/schema.rb | 24 ++++++++++++++- db/seeds.rb | 2 ++ 9 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 app/views/refinery/banners/shared/_banner_image.html.erb create mode 100644 db/migrate/20140216165731_create_banners_banners.refinery_banners.rb create mode 100644 db/migrate/20140216165732_create_banners_banners_pages.refinery_banners.rb diff --git a/Gemfile b/Gemfile index d15a0c5..bc8a239 100644 --- a/Gemfile +++ b/Gemfile @@ -57,3 +57,5 @@ gem 'refinerycms-inquiries', '~> 2.0.0' gem 'refinerycms-search', '~> 2.0.0' gem 'refinerycms-page-images', '~> 2.0.0' gem 'refinerycms-videojs' +gem 'refinerycms-pc_banners', '~> 2.0.2' + diff --git a/Gemfile.lock b/Gemfile.lock index 13c4dfe..cdb99be 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -175,6 +175,8 @@ GEM babosa (!= 0.3.6) refinerycms-core (= 2.0.10) seo_meta (~> 1.3.0) + refinerycms-pc_banners (2.0.2) + refinerycms-pages (~> 2.0.1) refinerycms-resources (2.0.10) dragonfly (~> 0.9.8) rack-cache (>= 0.5.3) @@ -238,6 +240,7 @@ DEPENDENCIES refinerycms-i18n (~> 2.0.0) refinerycms-inquiries (~> 2.0.0) refinerycms-page-images (~> 2.0.0) + refinerycms-pc_banners (~> 2.0.2) refinerycms-search (~> 2.0.0) refinerycms-videojs rvm-capistrano diff --git a/app/decorators/controllers/refinery/pages_controller_decorator.rb b/app/decorators/controllers/refinery/pages_controller_decorator.rb index d93ae9d..2e972e9 100644 --- a/app/decorators/controllers/refinery/pages_controller_decorator.rb +++ b/app/decorators/controllers/refinery/pages_controller_decorator.rb @@ -19,6 +19,9 @@ ApplicationController.class_eval do # find_all_blog_categories find_tags + + # Load active banners + @banners = Refinery::Banners::Banner.active end def populate_home_page diff --git a/app/views/refinery/banners/shared/_banner_image.html.erb b/app/views/refinery/banners/shared/_banner_image.html.erb new file mode 100644 index 0000000..7d0dc25 --- /dev/null +++ b/app/views/refinery/banners/shared/_banner_image.html.erb @@ -0,0 +1 @@ +<%= link_to(image_fu(banner_image.image, '500x'), banner_image.url) %> \ No newline at end of file diff --git a/app/views/refinery/pages/home.html.erb b/app/views/refinery/pages/home.html.erb index 66cd6b7..6207663 100644 --- a/app/views/refinery/pages/home.html.erb +++ b/app/views/refinery/pages/home.html.erb @@ -1,4 +1,6 @@ <% content_for :body do %> + <%= render :partial => 'refinery/banners/shared/banners' %> + <%= raw @page.content_for(Refinery::Pages.default_parts.first.to_sym) if Refinery::Pages.default_parts.any? %> <% if @posts.any? %> diff --git a/db/migrate/20140216165731_create_banners_banners.refinery_banners.rb b/db/migrate/20140216165731_create_banners_banners.refinery_banners.rb new file mode 100644 index 0000000..d2d1968 --- /dev/null +++ b/db/migrate/20140216165731_create_banners_banners.refinery_banners.rb @@ -0,0 +1,35 @@ +# This migration comes from refinery_banners (originally 1) +class CreateBannersBanners < ActiveRecord::Migration + + def up + create_table :refinery_banners do |t| + t.string :name + t.string :title + t.string :description + t.integer :image_id + t.string :url + t.boolean :is_active + t.date :start_date + t.date :expiry_date + t.integer :position + t.integer :position + + t.timestamps + end + + end + + def down + if defined?(::Refinery::UserPlugin) + ::Refinery::UserPlugin.destroy_all({:name => "refinerycms-banners"}) + end + + if defined?(::Refinery::Page) + ::Refinery::Page.delete_all({:link_url => "/banners/banners"}) + end + + drop_table :refinery_banners + + end + +end diff --git a/db/migrate/20140216165732_create_banners_banners_pages.refinery_banners.rb b/db/migrate/20140216165732_create_banners_banners_pages.refinery_banners.rb new file mode 100644 index 0000000..175e593 --- /dev/null +++ b/db/migrate/20140216165732_create_banners_banners_pages.refinery_banners.rb @@ -0,0 +1,16 @@ +# This migration comes from refinery_banners (originally 2) +class CreateBannersBannersPages < ActiveRecord::Migration + def self.up + create_table :refinery_banners_pages, :id => false do |t| + t.integer :page_id + t.integer :banner_id + end + + add_index :refinery_banners_pages, :page_id + add_index :refinery_banners_pages, :banner_id + end + + def self.down + drop_table :refinery_banners_pages + end +end diff --git a/db/schema.rb b/db/schema.rb index 7ef62f9..94a7af9 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,29 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20131223174901) do +ActiveRecord::Schema.define(:version => 20140216165732) do + + create_table "refinery_banners", :force => true do |t| + t.string "name" + t.string "title" + t.string "description" + t.integer "image_id" + t.string "url" + t.boolean "is_active" + t.date "start_date" + t.date "expiry_date" + t.integer "position" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + + create_table "refinery_banners_pages", :id => false, :force => true do |t| + t.integer "page_id" + t.integer "banner_id" + end + + add_index "refinery_banners_pages", ["banner_id"], :name => "index_refinery_banners_pages_on_banner_id" + add_index "refinery_banners_pages", ["page_id"], :name => "index_refinery_banners_pages_on_page_id" create_table "refinery_blog_categories", :force => true do |t| t.string "title" diff --git a/db/seeds.rb b/db/seeds.rb index 8364d2f..7391f95 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -17,3 +17,5 @@ Refinery::Inquiries::Engine.load_seed # Added by Refinery CMS Search engine Refinery::Search::Engine.load_seed + +Refinery::Banners::Engine.load_seed -- cgit v1.2.3