Sha256: b65c90245e27eddcfad36a633542df51f3ea6355d11c250ef90431289738d352

Contents?: true

Size: 1.13 KB

Versions: 18

Compression:

Stored size: 1.13 KB

Contents

module Locomotive
  class CurrentSiteController < BaseController

    sections 'settings', 'site'

    localized

    skip_load_and_authorize_resource

    load_and_authorize_resource class: 'Site'

    helper 'Locomotive::Sites'

    before_filter :filter_attributes

    before_filter :ensure_domains_list, only: :update

    respond_to :json, only: :update

    def edit
      @site = current_site
      respond_with @site
    end

    def update
      @site = current_site
      @site.update_attributes(params[:site])
      respond_with @site, location: edit_current_site_path(new_host_if_subdomain_changed)
    end

    protected

    def filter_attributes
      unless can?(:manage, Locomotive::Membership)
        params[:site].delete(:memberships_attributes) if params[:site]
      end
    end

    def new_host_if_subdomain_changed
      if !Locomotive.config.manage_subdomain? || @site.domains.include?(request.host)
        {}
      else
        { host: site_url(@site, { fullpath: false, protocol: false }) }
      end
    end

    def ensure_domains_list
      params[:site][:domains] = [] unless params[:site][:domains]
    end

  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
locomotive_cms-2.5.7 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.5.6 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.5.6.rc2 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.5.6.rc1 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.5.5 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.5.4 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.5.3 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.5.2 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.5.1 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.5.0 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.5.0.rc3 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.5.0.rc2 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.5.0.rc1 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.4.1 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.4.0 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.3.1 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.3.0 app/controllers/locomotive/current_site_controller.rb
locomotive_cms-2.2.3 app/controllers/locomotive/current_site_controller.rb