module store changes

This commit is contained in:
harrybomrah committed 2014-12-30 18:38:11 +08:00
1 parent c8d395aca1
commit 6e27bbd483
11 files changed
+110 -14

No files matched your search

+19 -9
View File
@@ -13,12 +13,14 @@ module SideBarRenderer
@app_available_for = af
if display?
content_tag :div, class: "sub-nav-block #{@icon_class}" do
concat content_tag :h4, I18n.t(@head_label)
concat (content_tag :ul, class: "nav nav-list" do
@context_links.sort_by {| obj | obj.priority}.map{ |link|
link.render(request, params, @current_module_app, @current_user, @belong_module_app, link.get_active_action, link.available_for)
}.join.html_safe
end)
if @belong_module_app.store_permission_granted
concat content_tag :h4, I18n.t(@head_label)
concat (content_tag :ul, class: "nav nav-list" do
@context_links.sort_by {| obj | obj.priority}.map{ |link|
link.render(request, params, @current_module_app, @current_user, @belong_module_app, link.get_active_action, link.available_for)
}.join.html_safe
end)
end
end
end
end
@@ -33,9 +35,17 @@ module SideBarRenderer
@app_available_for = available_for
if display?
content_tag :li, class: (module_sidebar_active? ? 'active' : nil) do
link_to Rails.application.routes.url_helpers.send(@head_link) do
content_tag :span do
content_tag(:i, nil, class: @icon_class)
if @belong_module_app.store_permission_granted
link_to Rails.application.routes.url_helpers.send(@head_link) do
content_tag :span do
content_tag(:i, nil, class: @icon_class)
end
end
else
link_to "/admin/license_denied" do
content_tag :span do
content_tag(:i, nil, class: @icon_class + " text-error")
end
end
end
end
+41
View File
@@ -20,5 +20,46 @@ module OrbitApp
end
end
end
def check_module_permissions
store_token = Site.first.store_token
module_apps = ModuleApp.all
exceptions = OrbitStore::MODULE_EXCEPTIONS
if !store_token.nil?
ids = []
module_index = {}
module_apps.each do |ma|
ids << ma.key
module_index[ma.key] = ma
end
params_to_send = {'store_token' => store_token, "apps" => ids}
uri = URI.parse(OrbitStore::URL)
http = Net::HTTP.new(uri.host,uri.port)
request = Net::HTTP::Post.new("/store/check_module_permissions")
request.body = params_to_send.to_query
response = http.request(request) rescue nil
if !response.nil?
data = JSON.parse(response.body)
if response.code == "200"
permissions = data["permissions"]
permissions.each do |permission|
ma = module_index[permission["app"]]
ma.store_permission_granted = (exceptions.include?(ma.key) ? true : permission["granted"])
ma.save
end
end
else
module_apps.each do |ma|
ma.store_permission_granted = (exceptions.include?(ma.key) ? true : false)
ma.save
end
end
else
module_apps.each do |ma|
ma.store_permission_granted = (exceptions.include?(ma.key) ? true : false)
ma.save
end
end
end
end
end
+5 -1
View File
@@ -62,7 +62,11 @@ module OrbitCoreLib
return
end
if !@module_app.nil?
check_user_can_use
if @module_app.store_permission_granted || params["controller"] == "admin/authorizations"
check_user_can_use
else
redirect_to admin_license_denied_path
end
else
if current_user.nil? || !current_user.is_admin?
if params["controller"] != "admin/assets"
+24
View File
@@ -0,0 +1,24 @@
namespace :register_with_store do
task :register,[:arg] => :environment do |task,args|
modules = ModuleApp.all
ids = modules.collect{|ma| ma.key}
store_token = Site.first.store_token
module_apps = ModuleApp.all
exceptions = OrbitStore::MODULE_EXCEPTIONS
if !store_token.nil?
params_to_send = {'store_token' => store_token, "apps" => ids}
uri = URI.parse(OrbitStore::URL)
http = Net::HTTP.new(uri.host,uri.port)
request = Net::HTTP::Post.new("/store/register_old_sites_modules")
request.body = params_to_send.to_query
response = http.request(request) rescue nil
if response.nil?
puts "Cannot connect to store."
else
puts "All modules registered."
end
else
puts "Cannot register modules, site is not registered with store."
end
end
end