Skip to content

Commit

Permalink
Initializer support
Browse files Browse the repository at this point in the history
  • Loading branch information
cykod committed Jul 29, 2010
1 parent 0cc6fd6 commit 6816252
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 6 deletions.
5 changes: 1 addition & 4 deletions app/controllers/manage/domains_controller.rb
Expand Up @@ -95,10 +95,7 @@ def edit

def update_module
if self.system_admin? && request.post? && @domain.status == 'initialized'
mod = params[:mod]
entry = @domain.domain_modules.find_by_name(mod) || @domain.domain_modules.build(:name => mod)
entry.access = params[:access] == 'available' ? 'available' : 'unavailable'
entry.save
@domain.update_module_availability(params[:mod],params[:access] == 'available' )
end

redirect_to :action => 'edit', :path => @domain.id
Expand Down
9 changes: 8 additions & 1 deletion app/models/domain.rb
Expand Up @@ -95,11 +95,18 @@ def initialize_database(params = {}) #:nodoc:
if (self.status == 'setup' || self.status == 'initializing') && self.domain_type == 'domain' && self.database.to_s.empty?
self.status = 'initializing'
self.save
initializer = " INITIALIZER=#{params[:initializer]}" if params[:initializer]
# Create the database, yml files and run the initial migration
ok = `cd #{RAILS_ROOT};rake cms:create_domain_db DOMAIN_ID=#{self.id}`
ok = `cd #{RAILS_ROOT};rake cms:create_domain_db DOMAIN_ID=#{self.id}#{initializer}`
end
end

def update_module_availability(mod,available)
entry = self.domain_modules.find_by_name(mod) || self.domain_modules.build(:name => mod)
entry.access = available ? 'available' : 'unavailable'
entry.save
end

def self.current_site_domains
self.find_site_domains(Configuration.domain_info.database)
end
Expand Down
5 changes: 5 additions & 0 deletions lib/tasks/create_domain_db.rake
Expand Up @@ -81,6 +81,11 @@ namespace "cms" do
# And create any initial data as necessary
Domain.initial_domain_data

if ENV['INITIALIZER']
cls = ENV['INITIALIZER'].constantize
cls.run_domain_initializer(dmn)
end

dmn.status = 'initialized'
dmn.save
end
Expand Down
2 changes: 1 addition & 1 deletion lib/tasks/migrate_domain_components.rake
Expand Up @@ -16,7 +16,7 @@ namespace "cms" do
end

if domain
domains = Domain.find(:all, :conditions => ['id=? AND domain_type="domain" AND `database` != "" AND `status`="initialized"',domain]).collect {|dmn| dmn.get_info }
domains = Domain.find(:all, :conditions => ['id=? AND domain_type="domain" AND `database` != "" AND (`status`="initialized" or `status` = "working")',domain]).collect {|dmn| dmn.get_info }
else
domains = Domain.find(:all,:conditions => 'domain_type = "domain" AND `database` != "" AND `status`="initialized"').collect { |dmn| dmn.get_info }
end
Expand Down

0 comments on commit 6816252

Please sign in to comment.