From 0012b1ed5e00c395855a4ab550bf524b504025f2 Mon Sep 17 00:00:00 2001 From: Alex Tsokurov Date: Mon, 7 Jul 2014 11:56:00 +0300 Subject: [PATCH] 2.2-stable --- README.md | 2 +- app/assets/javascripts/admin/spree_news.js | 1 - app/assets/javascripts/backend/spree_news.js | 1 + .../javascripts/{store => frontend}/spree_news.js | 2 +- .../stylesheets/{admin => backend}/spree_news.css | 2 +- app/assets/stylesheets/frontend/spree_news.css | 4 ++++ app/assets/stylesheets/store/spree_news.css | 4 ---- app/controllers/spree/admin/posts_controller.rb | 10 ++++++++-- app/models/spree/post.rb | 3 --- app/overrides/spree_news_overrides.rb | 4 ++-- lib/generators/spree_news/install/install_generator.rb | 8 ++++---- spree_news.gemspec | 4 ++-- 12 files changed, 24 insertions(+), 21 deletions(-) delete mode 100644 app/assets/javascripts/admin/spree_news.js create mode 100644 app/assets/javascripts/backend/spree_news.js rename app/assets/javascripts/{store => frontend}/spree_news.js (50%) rename app/assets/stylesheets/{admin => backend}/spree_news.css (65%) create mode 100644 app/assets/stylesheets/frontend/spree_news.css delete mode 100644 app/assets/stylesheets/store/spree_news.css diff --git a/README.md b/README.md index 55a888c..7b1658a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ SpreeNews ========= -This is an extension for Spree 1.0 that allows an Admin to create and manage posts in the admin panel. Posts that are marked as published will show up on the home page in a news ticker window that uses jquery to slide between posts. If there are no published posts, the news ticker window will not show up on the home page. +This is an extension for Spree 2.2 that allows an Admin to create and manage posts in the admin panel. Posts that are marked as published will show up on the home page in a news ticker window that uses jquery to slide between posts. If there are no published posts, the news ticker window will not show up on the home page. Installation diff --git a/app/assets/javascripts/admin/spree_news.js b/app/assets/javascripts/admin/spree_news.js deleted file mode 100644 index f1f1a2c..0000000 --- a/app/assets/javascripts/admin/spree_news.js +++ /dev/null @@ -1 +0,0 @@ -//= require admin/spree_backend \ No newline at end of file diff --git a/app/assets/javascripts/backend/spree_news.js b/app/assets/javascripts/backend/spree_news.js new file mode 100644 index 0000000..f90877f --- /dev/null +++ b/app/assets/javascripts/backend/spree_news.js @@ -0,0 +1 @@ +//= require spree/backend \ No newline at end of file diff --git a/app/assets/javascripts/store/spree_news.js b/app/assets/javascripts/frontend/spree_news.js similarity index 50% rename from app/assets/javascripts/store/spree_news.js rename to app/assets/javascripts/frontend/spree_news.js index 78f9440..49cdd86 100644 --- a/app/assets/javascripts/store/spree_news.js +++ b/app/assets/javascripts/frontend/spree_news.js @@ -1,2 +1,2 @@ -//= require store/spree_frontend +//= require spree/frontend //= require jquery.vticker-min.js diff --git a/app/assets/stylesheets/admin/spree_news.css b/app/assets/stylesheets/backend/spree_news.css similarity index 65% rename from app/assets/stylesheets/admin/spree_news.css rename to app/assets/stylesheets/backend/spree_news.css index c34b23f..92d8faf 100644 --- a/app/assets/stylesheets/admin/spree_news.css +++ b/app/assets/stylesheets/backend/spree_news.css @@ -1,5 +1,5 @@ /* - *= require admin/spree_backend + *= require spree/backend */ .new-post { diff --git a/app/assets/stylesheets/frontend/spree_news.css b/app/assets/stylesheets/frontend/spree_news.css new file mode 100644 index 0000000..d1aa6c7 --- /dev/null +++ b/app/assets/stylesheets/frontend/spree_news.css @@ -0,0 +1,4 @@ +/* + *= require spree/frontend + *= require posts +*/ diff --git a/app/assets/stylesheets/store/spree_news.css b/app/assets/stylesheets/store/spree_news.css deleted file mode 100644 index bc19f5d..0000000 --- a/app/assets/stylesheets/store/spree_news.css +++ /dev/null @@ -1,4 +0,0 @@ -/* - *= require store/spree_frontend - *= require posts -*/ diff --git a/app/controllers/spree/admin/posts_controller.rb b/app/controllers/spree/admin/posts_controller.rb index 020e434..1c30860 100644 --- a/app/controllers/spree/admin/posts_controller.rb +++ b/app/controllers/spree/admin/posts_controller.rb @@ -13,7 +13,7 @@ def new end def create - @post = Spree::Post.new(params[:post]) + @post = Spree::Post.new(post_params) if @post.save flash[:notice] = "Post saved successfully" redirect_to admin_posts_path @@ -29,7 +29,7 @@ def edit def update @post = Spree::Post.find(params[:id]) - if @post.update_attributes(params[:post]) + if @post.update_attributes(post_params) flash[:notice] = "Post saved successfully" redirect_to admin_posts_path else @@ -47,4 +47,10 @@ def destroy end end + private + + def post_params + params.require(:post).permit(:title, :description, :published) + end + end diff --git a/app/models/spree/post.rb b/app/models/spree/post.rb index 60ad8a3..9332fa8 100644 --- a/app/models/spree/post.rb +++ b/app/models/spree/post.rb @@ -1,8 +1,5 @@ class Spree::Post < ActiveRecord::Base validates_presence_of :title, :description -# validates_length_of :description, :maximum => 150 - - attr_accessible :title, :description, :published scope :published, lambda { where(:published => true) } scope :latest, order("created_at DESC").limit(3) diff --git a/app/overrides/spree_news_overrides.rb b/app/overrides/spree_news_overrides.rb index 6ad5510..47b5603 100644 --- a/app/overrides/spree_news_overrides.rb +++ b/app/overrides/spree_news_overrides.rb @@ -1,7 +1,7 @@ -Deface::Override.new(:virtual_path => "spree/layouts/admin", +Deface::Override.new(:virtual_path => "spree/admin/shared/_menu", :name => "news_admin_tab", :insert_bottom => "[data-hook='admin_tabs']", - :text => "<%= tab(:posts) %>", + :text => "<%= tab(:posts, :icon => 'icon-file-text') %>", :disabled => false) Deface::Override.new(:virtual_path => "spree/home/index", diff --git a/lib/generators/spree_news/install/install_generator.rb b/lib/generators/spree_news/install/install_generator.rb index 45e1c50..4ea841f 100644 --- a/lib/generators/spree_news/install/install_generator.rb +++ b/lib/generators/spree_news/install/install_generator.rb @@ -3,13 +3,13 @@ module Generators class InstallGenerator < Rails::Generators::Base def add_javascripts - append_file "app/assets/javascripts/store/all.js", "#= require store/spree_news\n" - append_file "app/assets/javascripts/admin/all.js", "//= require admin/spree_news\n" + append_file "vendor/assets/javascripts/spree/frontend/all.js", "//= require frontend/spree_news\n" + append_file "vendor/assets/javascripts/spree/backend/all.js", "//= require backend/spree_news\n" end def add_stylesheets - inject_into_file "app/assets/stylesheets/store/all.css", " *= require store/spree_news\n", :before => /\*\//, :verbose => true - inject_into_file "app/assets/stylesheets/admin/all.css", " *= require admin/spree_news\n", :before => /\*\//, :verbose => true + inject_into_file "vendor/assets/stylesheets/spree/frontend/all.css", " *= require frontend/spree_news\n", :before => /\*\//, :verbose => true + inject_into_file "vendor/assets/stylesheets/spree/backend/all.css", " *= require backend/spree_news\n", :before => /\*\//, :verbose => true end def add_migrations diff --git a/spree_news.gemspec b/spree_news.gemspec index 0a94c44..a91fdf1 100644 --- a/spree_news.gemspec +++ b/spree_news.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |s| s.platform = Gem::Platform::RUBY s.name = 'spree_news' - s.version = '0.0.5' + s.version = '0.0.6' s.summary = 'Adds a Javascript enabled scrolling news feed ticker wherever you call it' s.description = 'Provides an Admin view to create/edit posts which will be shown on the home page in a scrolling news ticker window below the products listing.' s.required_ruby_version = '>= 1.9.2' @@ -16,7 +16,7 @@ Gem::Specification.new do |s| s.require_path = 'lib' s.requirements << 'none' - s.add_dependency 'spree_backend', '~> 2.0.0' + s.add_dependency 'spree_backend', '~> 2.2.0' s.add_dependency 'haml' end