jipe_app/app/controllers/public/menu_items_controller.rb
Nicolas Bally 68c41f8028 suite
2018-02-23 01:49:55 +01:00

91 lines
2.1 KiB
Ruby

# -*- encoding : utf-8 -*-
class Public::MenuItemsController < ApplicationController
layout "public"
def redirect
redirect_to menu_item_path(:url => params[:url]), status: 301
end
def archive
@menu_item= MenuItem.archived.find(params[:id])
end
def show
if params[:lang]
@lang = LangSite.find_by_slug(params[:lang])
else
@lang = LangSite.first
end
if params[:url]
url = params[:url].split("/")
url = url.map do |u|
u.to_slug
end
url = url.join("/")
orignal_url = url
@menu_item_lang = @lang.menu_item_langs.find_by_permalink(url)
if @menu_item_lang
@menu_item = @menu_item_lang.menu_item
@menu_item.ancestors_menu = @menu_item.ancestors
@ancestor_1 = @menu_item.ancestors.reverse[1] if @menu_item
elsif menu_item_history = MenuItemSlugHistory.where(:permalink => url, :locale => @lang.slug).first
redirect_to "/#{@lang.slug}/#{menu_item_history.menu_item_lang.permalink}.html"
else
redirect_to "/"
end
else
@menu_item_lang = @lang.menu_item_langs.find_by_permalink("index")
@menu_item = @menu_item_lang.menu_item
end
if @menu_item and @menu_item.menu_content and @menu_item.menu_content.class.to_s == "Page"
@lang_page = @menu_item.menu_content.lang_pages.find_by_lang_site_id(@lang.id)
@title = @lang_page.title
@description = @lang_page.description
@keywords = @lang_page.keywords
if @menu_item.menu_content.blocks.find_by_lang_site_id(@lang.id).portlets.count == 0
if @menu_item.children.count > 0
menu_item_lang = @menu_item.children.order(:position).first.menu_item_langs.find_by_lang_site_id(@lang.id)
redirect_to menu_item_path(:url => menu_item_lang.url, :lang => @lang.slug)
end
end
end
#puts @menu_item.menu_item_langs.find_by_lang_site_id(@lang.id)
end
end