Sha256: 555cad03bc61c3410a6453394a27f5376f959f056c4924b96a305926f3326a0b

Contents?: true

Size: 1.56 KB

Versions: 1

Compression:

Stored size: 1.56 KB

Contents

module Gluttonberg
  module Public
    module Blog
      class BlogsController <  Gluttonberg::Public::BaseController

        def index
          @blogs = Gluttonberg::Blog::Weblog.published.all
          if @blogs.blank?
            redirect_to "/"
          elsif @blogs.length == 1
            if Gluttonberg.localized?
              redirect_to blog_path(current_localization_slug , @blogs.first.slug)
            else
              redirect_to blog_path(:id =>@blogs.first.slug)
            end
          end
        end

        def show
          @blog = Gluttonberg::Blog::Weblog.published.where(:slug => params[:id]).includes(:articles).first
          return if find_by_previous_path
          raise ActiveRecord::RecordNotFound.new if @blog.blank?
          @articles = @blog.articles.published.order("published_at DESC").includes(:localizations).paginate(:page => params[:page], :per_page => Gluttonberg::Setting.get_setting("number_of_per_page_items"))
          @tags = Gluttonberg::Blog::Article.published.tag_counts_on(:tag)
          respond_to do |format|
             format.html
             format.rss { render :layout => false }
          end
        end

        private
          def find_by_previous_path
            if @blog.blank?
              @blog = Gluttonberg::Blog::Weblog.published.where(:previous_slug => params[:id]).first

              unless @blog.blank?
                 redirect_to blog_path(:id => @blog.slug) , :status => 301
                 return true
              end
            end
            false
          end

      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gluttonberg-blog-1.0.0 app/controllers/gluttonberg/public/blog/blogs_controller.rb