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