67 lines
1.9 KiB
Ruby
67 lines
1.9 KiB
Ruby
class SubDomainsController < ApplicationController
|
|
layout 'base_org'
|
|
before_filter :find_org_subfield_and_subdomain, :only => [:show, :index, :domain_update_priority, :destroy, :update, :hide_sub_domain, :show_sub_domain]
|
|
|
|
def new
|
|
@subdomain = SubDomain.new
|
|
@org_subfield = OrgSubfield.find(params[:org_subfield_id])
|
|
@organization = @org_subfield.organization
|
|
end
|
|
|
|
def create
|
|
if SubDomain.where("org_subfield_id=#{params[:org_subfield_id]} and name=?",params[:name]).count == 0
|
|
@res = true
|
|
@subfield = OrgSubfield.find(params[:org_subfield_id])
|
|
@organization = @subfield.organization
|
|
@subdomain = SubDomain.create(:name => params[:name], :org_subfield_id => params[:org_subfield_id], :priority => @subfield.sub_domains.blank? ? 1 : @subfield.sub_domains.order("priority").last.priority + 1)
|
|
@subdomain.update_column(:field_type, params[:field_type])
|
|
else
|
|
@res = false
|
|
end
|
|
respond_to do |format|
|
|
format.js
|
|
end
|
|
end
|
|
|
|
def update
|
|
@subdomain.update_column(:name, params[:name])
|
|
end
|
|
|
|
def domain_update_priority
|
|
@subdomain.update_attribute(:priority, params[:priority].to_i)
|
|
end
|
|
|
|
def destroy
|
|
@subdomain.destroy
|
|
end
|
|
|
|
def show
|
|
render_404
|
|
# @subfield_content = @organization.org_subfields.order("priority")
|
|
# render layout: @organization.switch_type ? 'base_sub_domain' : 'base_org'
|
|
end
|
|
|
|
def index
|
|
|
|
end
|
|
|
|
def hide_sub_domain
|
|
@subdomain.update_attribute(:hide, 1)
|
|
end
|
|
|
|
def show_sub_domain
|
|
@subdomain.update_attribute(:hide, 0)
|
|
end
|
|
|
|
|
|
private
|
|
def find_org_subfield_and_subdomain
|
|
@subfield = OrgSubfield.find(params[:org_subfield_id])
|
|
@subdomain = SubDomain.find(params[:id])
|
|
@organization = @subfield.organization
|
|
rescue ActiveRecord::RecordNotFound
|
|
# source_subdomain not found
|
|
render_404
|
|
end
|
|
end
|