module store changes
This commit is contained in:
1 parent
c8d395aca1
commit
6e27bbd483
11 files changed
+110
-14
No files matched your search
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
Reference in new issue
Block a user