don't dislay web links if no eng. lists in widget is now sorted.
This commit is contained in:
1 parent
625801c0e9
commit
acebec8904
6 files changed
+46
-15
No files matched your search
+4
-4
@@ -10,14 +10,14 @@ class Panel::WebResource::Widget::WebLinksController < OrbitWidgetController
|
||||
|
||||
def index
|
||||
if !params[:category_id].blank?
|
||||
@web_links = WebLink.where(:web_link_category => params[:category_id]).desc( :is_top, :postdate).page( params[:page]).per(10)
|
||||
@web_links = WebLink.where(:web_link_category => params[:category_id]).available_for_lang(I18n.locale).desc( :is_top, :postdate).page( params[:page]).per(10)
|
||||
@current_category = WebLinkCategory.from_id(params[:category_id]) rescue nil
|
||||
elsif !params[:tag_id].blank?
|
||||
@tag = WebResourceTag.find(params[:tag_id]) rescue nil
|
||||
@tag = WebResourceTag.where(key: params[:tag_id])[0] unless @tag
|
||||
@web_links = @tag.web_links.desc( :is_top, :postdate).page( params[:page]).per(10)
|
||||
else
|
||||
@web_links = WebLink.all.desc( :is_top, :postdate).page( params[:page]).per(10)
|
||||
@web_links = WebLink.available_for_lang(I18n.locale).desc( :is_top, :postdate).page( params[:page]).per(10)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -30,7 +30,7 @@ class Panel::WebResource::Widget::WebLinksController < OrbitWidgetController
|
||||
|
||||
# @web_link = WebLink.where( :is_hidden => false ).desc(:is_top, :title).first
|
||||
|
||||
@web_links = WebLink.widget_datas.page(params[:page]).per(5)
|
||||
@web_links = WebLink.widget_datas.available_for_lang(I18n.locale).page(params[:page]).per(5)
|
||||
|
||||
# get_categorys
|
||||
|
||||
@@ -40,7 +40,7 @@ class Panel::WebResource::Widget::WebLinksController < OrbitWidgetController
|
||||
end
|
||||
|
||||
def reload_web_links
|
||||
@web_links = WebLink.widget_datas.page(params[:page]).per(5)
|
||||
@web_links = WebLink.widget_datas.available_for_lang(I18n.locale).page(params[:page]).per(5)
|
||||
end
|
||||
|
||||
|
||||
|
||||
+15
-2
@@ -5,7 +5,8 @@ class WebLink
|
||||
include Mongoid::Timestamps
|
||||
include Mongoid::MultiParameterAttributes
|
||||
|
||||
|
||||
scope :available_for_lang, ->(locale){ where("available_for_#{locale}".to_sym => true) }
|
||||
|
||||
field :title, localize: true
|
||||
field :context, localize: true
|
||||
|
||||
@@ -21,6 +22,8 @@ class WebLink
|
||||
|
||||
belongs_to :web_link_category
|
||||
|
||||
before_save :update_avliable_language
|
||||
|
||||
validates :title, :at_least_one => true
|
||||
|
||||
def self.search( category_id = nil )
|
||||
@@ -40,7 +43,7 @@ class WebLink
|
||||
|
||||
def self.widget_datas
|
||||
|
||||
where( :is_hidden => false ).desc(:is_top, :title)
|
||||
where( :is_hidden => false ).desc(:is_top, :created_at)
|
||||
|
||||
end
|
||||
|
||||
@@ -52,4 +55,14 @@ class WebLink
|
||||
tags.order_by(I18n.locale, :asc)
|
||||
end
|
||||
|
||||
def update_avliable_language
|
||||
VALID_LOCALES.each do |locale|
|
||||
if (title_translations[locale].blank? rescue true)
|
||||
self["available_for_#{locale}".to_sym] = false
|
||||
else
|
||||
self["available_for_#{locale}".to_sym] = true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
Reference in new issue
Block a user