diff --git a/app/controllers/sub_domains_controller.rb b/app/controllers/sub_domains_controller.rb index d289c7e39..e32935789 100644 --- a/app/controllers/sub_domains_controller.rb +++ b/app/controllers/sub_domains_controller.rb @@ -1,6 +1,6 @@ class SubDomainsController < ApplicationController layout 'base_org' - before_filter :find_org_subfield_and_subdomain, :only => [:show, :index] + 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 @@ -13,13 +13,25 @@ class SubDomainsController < ApplicationController @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.1 : @subfield.sub_domains.order("priority").last.priority + 0.1) + @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 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") @@ -30,6 +42,15 @@ class SubDomainsController < ApplicationController 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]) diff --git a/app/views/organizations/_subfield_sub_domains_list.html.erb b/app/views/organizations/_subfield_sub_domains_list.html.erb index f68d06c1e..10ee47e72 100644 --- a/app/views/organizations/_subfield_sub_domains_list.html.erb +++ b/app/views/organizations/_subfield_sub_domains_list.html.erb @@ -4,17 +4,17 @@ <% end %> <% end %> + + diff --git a/app/views/sub_domains/_new.html.erb b/app/views/sub_domains/_new.html.erb index ce0e802c4..25b660750 100644 --- a/app/views/sub_domains/_new.html.erb +++ b/app/views/sub_domains/_new.html.erb @@ -9,10 +9,10 @@ -
  • - - -
  • + + + +
  • 确定
    diff --git a/app/views/sub_domains/destroy.js.erb b/app/views/sub_domains/destroy.js.erb new file mode 100644 index 000000000..913c400f7 --- /dev/null +++ b/app/views/sub_domains/destroy.js.erb @@ -0,0 +1,4 @@ +$("#org_subfield_list").html(""); +$("#org_subfield_list").html("<%= escape_javascript(render :partial => 'organizations/subfield_list', :locals => {:subfields => @organization.org_subfields.order("priority") }) %>"); +$("#sub_field_left_lists").html(""); +$("#sub_field_left_lists").html("<%= escape_javascript(render :partial => 'organizations/org_left_subfield_list', :locals => {:organization => @organization}) %>"); \ No newline at end of file diff --git a/app/views/sub_domains/domain_update_priority.js.erb b/app/views/sub_domains/domain_update_priority.js.erb new file mode 100644 index 000000000..475649aac --- /dev/null +++ b/app/views/sub_domains/domain_update_priority.js.erb @@ -0,0 +1,2 @@ +$("#org_subfield_list").html("<%= escape_javascript(render :partial => 'organizations/subfield_list',:locals => {:subfields => @organization.org_subfields.order("priority")}) %>"); +$("#sub_field_left_lists").html("<%= escape_javascript(render :partial => 'organizations/org_left_subfield_list', :locals => {:organization => @organization}) %>"); \ No newline at end of file diff --git a/app/views/sub_domains/hide_sub_domain.js.erb b/app/views/sub_domains/hide_sub_domain.js.erb new file mode 100644 index 000000000..e09629dcf --- /dev/null +++ b/app/views/sub_domains/hide_sub_domain.js.erb @@ -0,0 +1,2 @@ +$("#hide_<%= @subfield.id %>").text("可见"); +$("#org_subfield_<%= @subfield.id %>").css("display", "none"); \ No newline at end of file diff --git a/app/views/sub_domains/show_sub_domain.js.erb b/app/views/sub_domains/show_sub_domain.js.erb new file mode 100644 index 000000000..e09629dcf --- /dev/null +++ b/app/views/sub_domains/show_sub_domain.js.erb @@ -0,0 +1,2 @@ +$("#hide_<%= @subfield.id %>").text("可见"); +$("#org_subfield_<%= @subfield.id %>").css("display", "none"); \ No newline at end of file diff --git a/app/views/sub_domains/update.js.erb b/app/views/sub_domains/update.js.erb new file mode 100644 index 000000000..02810eee7 --- /dev/null +++ b/app/views/sub_domains/update.js.erb @@ -0,0 +1,3 @@ +$("#subsubdomain_show_<%= @subdomain.id %>").html("<%= @subdomain.name %>"); +$("#sub_field_left_lists").html(""); +$("#sub_field_left_lists").html("<%= escape_javascript(render :partial => 'organizations/org_left_subfield_list', :locals => {:organization => @organization}) %>"); \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 70e684966..0816dadc7 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -118,7 +118,7 @@ RedmineApp::Application.routes.draw do end end - resources :sub_domains, :only => [:index, :new, :create, :show] do + resources :sub_domains, :only => [:index, :new, :create, :show, :update, :destroy] do resources :sub_document_comments, :only => [:index, :new, :create, :show] do member do post 'add_reply' @@ -135,6 +135,11 @@ RedmineApp::Application.routes.draw do collection do end member do + match 'domain_update_sub_dir', :via => [:put] + match 'domain_update_priority', :via => [:put] + match 'domain_update_status', :via => [:post] + post 'hide_sub_domain' + post 'show_sub_domain' end end