diff --git a/app/controllers/admin/sites_controller.rb b/app/controllers/admin/sites_controller.rb index 38da321..87175db 100644 --- a/app/controllers/admin/sites_controller.rb +++ b/app/controllers/admin/sites_controller.rb @@ -105,7 +105,8 @@ class Admin::SitesController < OrbitAdminController result = "failed" else result = "success" - Bundler.with_clean_env { `cd #{Rails.root} && bundle update` } + # Bundler.with_clean_env { `cd #{Rails.root} && bundle update` } + Bundler.with_clean_env { `cd #{Rails.root} && BUNDLE_GEMFILE=built_in_extensions.rb bundle update && bundle` } end render :text => result @@ -115,7 +116,7 @@ class Admin::SitesController < OrbitAdminController end def bundle_install - Bundler.with_clean_env { `cd #{Rails.root} && bundle update` } + Bundler.with_clean_env { `cd #{Rails.root} && BUNDLE_GEMFILE=built_in_extensions.rb bundle update && bundle` } %x(kill -s USR2 `cat tmp/pids/unicorn.pid`) sleep 5 render :nothing => true diff --git a/app/views/admin/members/show.html.erb b/app/views/admin/members/show.html.erb index 91dbb5f..473f796 100644 --- a/app/views/admin/members/show.html.erb +++ b/app/views/admin/members/show.html.erb @@ -29,7 +29,7 @@ - + <% if !@plugin_shows.blank? %>
- + <% end %> diff --git a/config/environment.rb b/config/environment.rb index 8cb62bd..a176bdd 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -4,7 +4,7 @@ require File.expand_path('../application', __FILE__) # Initialize the Rails application. Orbit::Application.initialize! Orbit::Application.config.secret_key_base = 'acc6ffc5a7d360c9cf2a7bdb4ddf9a897942ec6767413a5c0324a0fa8b86197a96298288a66bd46d8770d8b6edf509aad65716961c2c364ce006b475e6cfd418' - +OrbitApp.cleanup_modules if Site.count == 0 site = Site.new diff --git a/lib/orbit_app/register_module.rb b/lib/orbit_app/register_module.rb index 3d40222..44797d7 100644 --- a/lib/orbit_app/register_module.rb +++ b/lib/orbit_app/register_module.rb @@ -10,5 +10,15 @@ module OrbitApp Widget::Registration.new(name,&block) end end + + def cleanup_modules + module_apps = ModuleApp.all + module_apps.each do |ma| + reg = OrbitApp::Module::Registration.find_by_key(ma.key) rescue nil + if reg.nil? + ma.destroy + end + end + end end end \ No newline at end of file diff --git a/lib/orbit_tag/taggable.rb b/lib/orbit_tag/taggable.rb index 35fe20c..cc45fea 100644 --- a/lib/orbit_tag/taggable.rb +++ b/lib/orbit_tag/taggable.rb @@ -10,29 +10,22 @@ module OrbitTag module ClassMethods def with_tags(tags=[]) tags = [tags].flatten.uniq - result = [] if tags.blank? self.all else - self.all.each do |taggable| - result << taggable if (taggable.taggings.map{|t| t.tag.id.to_s } & tags).size > 0 - end - self.where(:id.in=>result.map{|taggable| taggable.id}) + taggings = Tagging.where(:tag_id.in=>tags).map{|item| item.taggable_id} + self.where(:id.in=>taggings) end end def filter_by_tags(tags=[]) tags = OrbitHelper.page_tags if tags.blank? tags = [tags].flatten.uniq - result = [] - if tags.blank? or (tags.include?("all") rescue false) self.all else - self.all.each do |taggable| - result << taggable if (taggable.taggings.map{|t| t.tag.id.to_s } & tags).size > 0 - end - self.where(:id.in=>result.map{|taggable| taggable.id}) + taggings = Tagging.where(:tag_id.in=>tags).map{|item| item.taggable_id} + self.where(:id.in=>taggings) end end