59 lines
1.6 KiB
Ruby
59 lines
1.6 KiB
Ruby
module Admin::FrontendWidgetInterface
|
|
|
|
protected
|
|
def get_categories_and_tags
|
|
unless @selected[:module_app].nil?
|
|
@categories = @selected[:module_app].get_categories
|
|
@tags = @selected[:module_app].tags
|
|
end
|
|
end
|
|
|
|
def get_frontend_data_count
|
|
local_item = set_local_item
|
|
@page_frontend_data_counts = @selected[:module_app].get_registration.get_data_count rescue []
|
|
@selected[:page_frontend_data_count] = case local_item
|
|
when PagePart
|
|
local_item.widget_data_count
|
|
when Page
|
|
local_item.frontend_data_count
|
|
end
|
|
end
|
|
|
|
def clean_tags_and_category_params
|
|
field_name = set_field_name
|
|
if self.class==Admin::PagePartsController and params[field_name][:module_app].blank?
|
|
params[field_name][:module_app] = nil
|
|
end
|
|
if params[field_name][:tag].nil? || params[field_name][:tag].include?("nil")
|
|
params[field_name][:tag] = []
|
|
end
|
|
|
|
if params[field_name][:category].nil? || params[field_name][:category].include?("nil")
|
|
params[field_name][:category] = []
|
|
end
|
|
end #of clean_tags_and_category_params
|
|
|
|
def set_local_item
|
|
local_item = @part
|
|
local_item = @item if local_item.nil? && @item
|
|
local_item
|
|
end
|
|
|
|
def set_field_name
|
|
case self.class.to_s
|
|
when "Admin::PagesController"
|
|
return "page"
|
|
when "Admin::PagePartsController"
|
|
return "page_part"
|
|
end # of case
|
|
end
|
|
|
|
def select_array_for_app_frontend_urls(hash)
|
|
ary = hash.collect{|name,data| [I18n.t(data["i18n"]),name]}
|
|
ary << [I18n.t('default_widget.name'),'default_widget'] if @selected[:module_app] and @selected[:module_app].has_default_widget?
|
|
ary
|
|
end
|
|
|
|
|
|
end
|