Sha256: 2cadb372f7f352b4666d08dc2cad370ed09f821ca9a1423a941be91082c0c797

Contents?: true

Size: 1.96 KB

Versions: 113

Compression:

Stored size: 1.96 KB

Contents

require 'csv'

module Caboose
  class DomainsController < ApplicationController
    layout 'caboose/admin'
      
    def before_action
      @page = Page.page_with_uri(request.host_with_port, '/admin')
    end
    
    # POST /admin/sites/:site_id/domains
    def admin_add
      return if !user_is_allowed('domains', 'edit')
      
      resp = Caboose::StdClass.new      
      d = Domain.where(:domain => params[:domain]).first
            
      if d && d.site_id != params[:site_id]
        resp.error = "That domain is already associated with another site."
      elsif d && d.site_id == params[:site_id]
        resp.refresh = true
      elsif d.nil?
        primary = Domain.where(:site_id => params[:site_id]).count == 0        
        d = Domain.create(:site_id => params[:site_id], :domain => params[:domain], :primary => primary)
        resp.refresh = true
      end
      render :json => resp
    end
    
    # PUT /admin/sites/:site_id/domains/:id
    def admin_update
      return if !user_is_allowed('domains', 'edit')

      resp = StdClass.new     
      d = Domain.find(params[:id])
    
      save = true
      params.each do |name,value|
        case name
          when 'site_id'            then d.site_id            = value
          when 'domain'             then d.domain             = value
          when 'under_construction' then d.under_construction = value
          when 'primary'            then
            d.primary = value
            Domain.where(:site_id => params[:site_id]).all.each do |d2|
              d2.primary = d2.id == d.id ? true : false
              d2.save
            end
    	  end
    	end
    	
    	resp.success = save && d.save
    	render :json => resp
    end        
      
    # DELETE /admin/sites/:site_id/domains/:id
    def admin_delete
      return if !user_is_allowed('sites', 'delete')
      Domain.find(params[:id]).destroy
      render :json => { 'redirect' => "/admin/sites/#{params[:site_id]}" }
    end
            
  end
end

Version data entries

113 entries across 113 versions & 1 rubygems

Version Path
caboose-cms-0.5.90 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.89 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.88 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.87 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.86 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.85 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.84 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.83 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.82 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.81 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.80 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.79 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.78 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.77 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.76 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.75 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.74 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.73 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.72 app/controllers/caboose/domains_controller.rb
caboose-cms-0.5.71 app/controllers/caboose/domains_controller.rb