module OrbitHelper def self.set_params(params,current_user) @params = params @current_user = current_user end def self.set_page_categories(categories) @categories = categories; end def self.set_page_tags(tags) @tags = tags; end def self.set_page_role_status(role_status) @role_status = role_status; end def self.set_member_sort_position(sort_position) @sort_position = sort_position; end def self.set_page_data_count(data_count) @data_count = data_count end def self.page_data_count @data_count end def self.set_page_number(page) @page_number = page if @page_number == 0 @page_number = 1 end end def self.page_number @page_number || 1 end def self.page_categories @categories end def self.page_tags @tags end def self.page_role_status @role_status end def self.member_sort_position @sort_position end def self.current_user @current_user end def self.page_for_tag(tag) page_for_tag = nil pages = Page.where(:module => @module_app.key) pages.each do |page| if page.tags.count ==1 if page.tags.include?(tag) page_for_tag = page end end break if !page_for_tag.nil? end if page_for_tag.nil? pages.each do |page| if page.tags.include?(tag) page_for_tag = page end break if !page_for_tag.nil? end end page_for_tag = pages.first if page_for_tag.nil? '/'+I18n.locale.to_s+page_for_tag.url+'?tags[]='+tag.id.to_s end def self.this_module_app @module_app end def self.widget_module_app @widget_module_app end def self.set_this_module_app(module_app) @module_app = ModuleApp.where(:key=>module_app).first end def self.set_widget_custom_value(value) @widget_custom_value = value end def self.widget_custom_value @widget_custom_value end def self.set_widget_module_app(module_app) @widget_module_app = ModuleApp.where(:key=>module_app).first end def self.set_widget_title(title) @widget_title = title end def self.widget_title @widget_title end def self.set_widget_tags(tags) @tags = tags; end def self.widget_tags @tags end def self.user_can_edit?(obj) return false if @current_user.nil? return true if @current_user.is_admin? if obj.class.to_s == "PageContext" return @current_user.is_manager?(@module_app) else return @current_user.nil? ? false : user_has_cateogry?(obj.category_id) end end def self.user_access_level? access_level = nil if @current_user.is_admin? access_level = "admin" elsif @current_user.is_manager?(@module_app) access_level = "manager" elsif @current_user.is_sub_manager?(@module_app) access_level = "sub_manager" end access_level end def self.user_has_cateogry?(cat) return false if @current_user.nil? if @current_user.is_admin? or @current_user.is_manager?(@module_app) return true else return @current_user.approved_categories.include?cat rescue false end end def self.params @params end def self.url_to_show(slug) if @params[:url] "/#{@site_locale}#{@params[:url]}/#{slug}" else page = Page.where(:module => self.current_widget_module).first "/#{@site_locale}#{page.url}/#{slug}" end end def self.url_to_plugin_show(slug,module_app) page = Page.find_by(:module => module_app) rescue "" @url_to_plugin_show = "#{page.url}/#{slug}" rescue "#" end def self.set_widget_item_url(widget) @url_widget_for_show = "" module_app = widget.module pages = Page.where(:module => module_app) widget_categories = widget.categories finalpage = nil pages.each do |p| if p.categories == widget_categories finalpage = p end break if !finalpage.nil? end if finalpage.nil? pages.each do |p| if self.array_include(p.categories, widget_categories) finalpage = p end break if !finalpage.nil? end end finalpage = pages.first if finalpage.nil? if !finalpage.nil? @url_widget_for_show = "/#{@site_locale.to_s}#{finalpage.url}" end end def self.array_include(arr1,arr2) final = [] arr2.each do |el| final.push(arr1.include?el) end !final.include?false end def self.widget_item_url(obj) @url_widget_for_show + "/" + obj end def self.widget_more_url @url_widget_for_show end def page_url(url) "#{request.host_with_port}/#{locale}#{url}" end def self.set_site_locale(locale) @site_locale = locale end def self.set_widget_data_count(data_count) @widget_data_count = data_count end def self.widget_data_count @widget_data_count end def self.set_widget_categories(categories) @widget_categories = categories end def self.widget_categories @widget_categories end def self.get_site_locale @site_locale end def self.current_widget_module @controller_name end def self.set_current_widget_module(name) @controller_name = name end def get_item_module_infos(page) if page.parent_page_id.nil? ["Home","icons-house"] else module_app = ModuleApp.where(:key => page.module).first unless module_app.nil? [module_app.title, (module_app.get_registration.icon_class || module_app.get_registration.get_icon_class_no_sidebar)] else if page.module.eql? "sitemap" ["sitemap", "icons-directions"] else ["", "icon-minus-sign"] end end end end def self.orbit_impressionist(object) impressionist(object) end def self.is_mobile_view !$mobile.blank? end # =============================================================== # Breadcrumbs # =============================================================== def back_end_breadcrumb res = '' divider = "/" res << "