comatose_integration.rb 1014 Bytes
require 'comatose'

class Comatose::Page
  def self.icon
    'text-x-generic'
  end
end

Comatose.configure do |config|
  config.admin_get_root_page do 
    Comatose::Page.find_by_path(request.parameters[:profile])
  end
  config.admin_authorization do |config|
    Profile.exists?(:identifier => request.parameters[:profile])
    # FIXME: also check permissions
  end
  config.admin_includes << :authenticated_system
  config.admin_helpers << :application_helper
  config.admin_helpers << :document_helper
end
Comatose::AdminController.design :holder => 'virtual_community'
Comatose::AdminController.before_filter do |controller|
  # TODO: copy/paste; extract this into a method (see
  # app/controllers/application.rb)
  domain = Domain.find_by_name(controller.request.host)
  if domain.nil?
    virtual_community = VirtualCommunity.default
  else
    virtual_community = domain.virtual_community
    profile = domain.profile
  end
  controller.instance_variable_set('@virtual_community', virtual_community)
end