diff --git a/app/controllers/spree/blogs/posts_controller.rb b/app/controllers/spree/blogs/posts_controller.rb index 03cf1ae..4861781 100644 --- a/app/controllers/spree/blogs/posts_controller.rb +++ b/app/controllers/spree/blogs/posts_controller.rb @@ -41,6 +41,7 @@ def search def show @post = default_scope.includes(:tags, :images, :products).find_by_path(params[:id]) rescue nil + @title = @post.title if @post && @post.title.present? return redirect_to archive_posts_path unless @post end diff --git a/app/models/spree/blog.rb b/app/models/spree/blog.rb index bca700a..c5c0eb4 100644 --- a/app/models/spree/blog.rb +++ b/app/models/spree/blog.rb @@ -18,7 +18,11 @@ def self.find_by_permalink!(path) end def self.find_by_permalink(path) - find_by_permalink!(path) rescue ActiveRecord::RecordNotFound + if path.length < 3 + raise ActiveRecord::RecordNotFound # pemalink length is at least 3 + else + find_by_permalink!(path) rescue ActiveRecord::RecordNotFound + end end def self.to_options @@ -28,7 +32,11 @@ def self.to_options def to_param self.permalink.gsub(/(^\/+)|(\/+$)/, "") end - + + def matches?(_path) + ( _path.delete("/").match(permalink)) + end + private def permalink_availablity diff --git a/app/models/spree/post.rb b/app/models/spree/post.rb index e74225a..3335e52 100644 --- a/app/models/spree/post.rb +++ b/app/models/spree/post.rb @@ -24,8 +24,8 @@ class Spree::Post < ActiveRecord::Base @@per_page = 10 scope :ordered, order("posted_at DESC") - scope :future, where("posted_at > ?", Time.now).order("posted_at ASC") - scope :past, where("posted_at <= ?", Time.now).ordered + scope :future, lambda { where("posted_at > ?", Time.now).order("posted_at ASC") } + scope :past, lambda { where("posted_at <= ?", Time.now).ordered } scope :live, where(:live => true ) before_validation :create_path, :if => proc{ |record| record.title_changed? } diff --git a/app/overrides/add_blogs_to_menu.rb b/app/overrides/add_blogs_to_menu.rb new file mode 100644 index 0000000..2d82e3e --- /dev/null +++ b/app/overrides/add_blogs_to_menu.rb @@ -0,0 +1,5 @@ +Deface::Override.new(:virtual_path => "spree/shared/_store_menu", + :name => "spree_essential_blog_main_menu_items", + :insert_after => "#home-link[data-hook]", + :partial => "spree/shared/blog_main_menu_items", + :disabled => false) \ No newline at end of file diff --git a/app/views/spree/blogs/admin/blogs/index.html.erb b/app/views/spree/blogs/admin/blogs/index.html.erb index 5a49a6e..5c8a337 100644 --- a/app/views/spree/blogs/admin/blogs/index.html.erb +++ b/app/views/spree/blogs/admin/blogs/index.html.erb @@ -1,6 +1,6 @@ <%= render :partial => 'spree/admin/shared/configuration_menu' %> -

Listing Blogs

+

<%=t "spree.blogs.admin.blogs.index.listing" %>

diff --git a/app/views/spree/blogs/admin/posts/_form.html.erb b/app/views/spree/blogs/admin/posts/_form.html.erb index 6580111..3b593fc 100644 --- a/app/views/spree/blogs/admin/posts/_form.html.erb +++ b/app/views/spree/blogs/admin/posts/_form.html.erb @@ -12,7 +12,7 @@ <%= form.field_container :posted_at do %> <%= form.label :posted_at, t("activerecord.attributes.post.posted_at") %>
- <%= form.text_field :posted_at, :class => 'text', :value => ((l @post.posted_at, :format => :long) unless @post.posted_at.nil?) %>
+ <%= form.text_field :posted_at, :class => 'text', :value => (@post.posted_at unless @post.posted_at.nil?) %>
<%= error_message_on :post, :posted_at %> <% end %> @@ -36,7 +36,12 @@