Merge branch 'master' of gitlab.tp.rulingcom.com:saurabh/orbit4-5 into gravity

This commit is contained in:
Harry Bomrah 2015-07-03 20:40:17 +08:00
commit e0d55ba507
7 changed files with 68 additions and 3 deletions

View File

@ -34,6 +34,8 @@ class PagesController < ApplicationController
params[:is_frontend_view] = "true"
OrbitHelper.set_params params,current_user
OrbitHelper.set_site_locale locale
OrbitHelper.set_request_object request
OrbitHelper.render_meta_tags []
render :html => render_final_page("home",page,true).html_safe
end
@ -102,6 +104,7 @@ class PagesController < ApplicationController
end
@manifest = @key
OrbitHelper.set_params params,current_user
OrbitHelper.set_request_object request
OrbitHelper.set_site_locale locale
OrbitHelper.set_this_module_app module_app.singularize
OrbitHelper.set_page_categories categories || ["all"]
@ -396,6 +399,7 @@ class PagesController < ApplicationController
OrbitHelper.set_widget_data_count subpart.data_count
OrbitHelper.set_widget_module_app subpart.module
OrbitHelper.set_widget_item_url subpart
OrbitHelper.render_meta_tags []
OrbitHelper.set_widget_title subpart.title
OrbitHelper.set_widget_categories subpart.categories || ["all"]
OrbitHelper.set_widget_tags subpart.tags || []
@ -464,6 +468,7 @@ class PagesController < ApplicationController
if original_view != "home"
viewarea = doc.css("*[data-content='true']")[0]
viewarea.inner_html = render_to_string(original_view) rescue "<div></div>"
head[0].inner_html = OrbitHelper.meta_tags_html + head.inner_html
end
link = doc.css("link")[0]
link.attributes["href"].value = current_site.favicon.url.nil? ? "/assets/favicon.ico" : current_site.favicon.url

View File

@ -50,6 +50,24 @@ class StoreApiController < ApplicationController
render :layout => "back_end"
end
# this is for feed module.
def get_channel_lists
apps = ModuleApp.where(:feeds_url.ne => nil)
channels = []
if apps.count > 0
apps.each do |app|
channel = {}
channel["title"] = app.title
channel["key"] = app.key
channel["url"] = app.feeds_url
channel["app_icon"] = app.get_registration.get_side_bar.get_icon_class
channels << channel
end
end
render :json => {"channels" => channels}.to_json
end
private
def bundle_install
Bundler.with_clean_env { `cd #{Rails.root} && BUNDLE_GEMFILE=downloaded_extensions.rb bundle update && bundle` }

View File

@ -267,6 +267,14 @@ module OrbitHelper
"#{request.host_with_port}/#{locale}#{url}"
end
def self.set_request_object(request)
@site_request_object = request
end
def self.request
@site_request_object
end
def self.set_site_locale(locale)
@site_locale = locale
end
@ -351,6 +359,28 @@ module OrbitHelper
return css_html
end
def self.render_meta_tags(metas=[])
@page_meta_tags = metas
end
def self.meta_tags_html
html = ""
if !@page_meta_tags.nil?
@page_meta_tags.each do |meta|
html = html + "<meta "
meta.keys.each do |attrib|
html = html + "#{attrib}='#{self.strip_html_tags(meta[attrib])}' "
end
html = html + ">"
end
end
html
end
def self.strip_html_tags(string)
ActionView::Base.full_sanitizer.sanitize(string)
end
# ===============================================================
# Breadcrumbs
# ===============================================================

View File

@ -16,6 +16,7 @@ class ModuleApp
field :widget_settings
field :store_permission_granted, type: Boolean, default: false
field :cache_models, type: Array, default: []
field :feeds_url
has_many :categories, dependent: :destroy, :autosave => true
has_and_belongs_to_many :tags, dependent: :destroy, :autosave => true
@ -36,6 +37,7 @@ class ModuleApp
self[:widget_settings] = reg.get_widget_settings
self[:desktop_enabled] = reg.is_desktop_enabled
self[:cache_models] = reg.get_models_to_cache
self[:feeds_url] = reg.get_feeds_url
end
def sub_managers

View File

@ -39,6 +39,7 @@ Orbit::Application.routes.draw do
post "/store/install_module" => "store_api#install_module"
post "/store/uninstall_module" => "store_api#uninstall_module"
post "/store/restart_srever_after_install" => "store_api#restart_server_after_install"
get "/feeds/channel_lists" => 'store_api#get_channel_lists'
# The priority is based upon order of creation: first created -> highest priority.
# See how all your routes lay out with "rake routes".

View File

@ -40,12 +40,13 @@ module OrbitApp
end
class RegisteredModule
attr_reader :name,:key,:base_path, :module_label,:widget_methods,:authorizable_models,:is_authorizable, :data_count, :widget_settings, :icon_class_no_sidebar,:desktop_enabled, :models_to_cache
attr_reader :name,:key,:base_path, :module_label,:widget_methods,:authorizable_models,:is_authorizable, :data_count, :widget_settings, :icon_class_no_sidebar,:desktop_enabled, :models_to_cache, :feeds_url
def initialize(name,&block)
@name = name
@key = @name.underscore.singularize
@side_bar = nil
@feeds_url = nil
@module_label = @name
@widget_methods = []
@models_to_cache = []
@ -82,6 +83,14 @@ module OrbitApp
@module_label = name
end
def feeds_url(url)
@feeds_url = url
end
def get_feeds_url
@feeds_url
end
def widget_methods(widgets)
@widget_methods = widgets
end

View File

@ -57,8 +57,8 @@
<div id="page-not-avai-in-this-lang">
<section class="message">
<h1>OOPS!</h1>
<h2>Page not available</h2>
<p>Sorry, This page is not available for this language<br> You can go back to <a class="home" href="/">home</a> or <a class="prev-page" href="#" onclick="window.history.back();return false;">previous</a> page.</p>
<h2>Page not available.</h2>
<p>Sorry, this page is not available for this language.<br> You can go back to <a class="home" href="/">home</a> or <a class="prev-page" href="#" onclick="window.history.back();return false;">previous</a> page.</p>
</section>
</div>