二级域名排序

beidou_tim
huang 9 years ago
parent 6d28d0becd
commit 79cd36f297

@ -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]
def new
@subdomain = SubDomain.new
@ -13,7 +13,7 @@ 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
@ -21,16 +21,14 @@ class SubDomainsController < ApplicationController
end
def update
@subdomain = SubDomain.find(params[:id])
@subfield = OrgSubfield.find(params[:org_subfield_id])
@organization = @subfield.organization
@subdomain.update_column(:name, params[:name])
end
def domain_update_priority
@subdomain.update_attribute(:priority, params[:priority].to_i)
end
def destroy
@subdomain = SubDomain.find(params[:id])
@subfield = OrgSubfield.find(params[:org_subfield_id])
@organization = @subfield.organization
@subdomain.destroy
end

@ -4,11 +4,11 @@
<ul class="orgSubList">
<li class="orgSubTree"></li>
<li class="orgSubNum ml5 mr5">
<div id="show_priority_<%= subdomain.id %>" ondblclick="edit_priority('#show_priority_<%= subdomain.id %>','#edit_priority_<%= subdomain.id %>');" class="subNumBlock" title="双击可编辑">
<div id="show_domain_priority_<%= subdomain.id %>" ondblclick="edit_priority('#show_domain_priority_<%= subdomain.id %>','#edit_domain_priority_<%= subdomain.id %>');" class="subNumBlock" title="双击可编辑">
<%= subdomain.priority %>
</div>
<div id="edit_priority_<%= subdomain.id %>" style="display:none; width:30px;">
<input type="text" onblur="update_priority('#show_priority_<%= subdomain.id %>','#edit_priority_<%= subdomain.id %>','<%= subdomain.id %>',$(this).val());" style="width:20px;" value="<%= subdomain.priority %>"/>
<div id="edit_domain_priority_<%= subdomain.id %>" style="display:none; width:30px;">
<input type="text" onblur="domain_update_priority('#show_domain_priority_<%= subdomain.id %>','#edit_domain_priority_<%= subdomain.id %>','<%= subdomain.org_subfield.id %>','<%= subdomain.id %>',$(this).val());" style="width:20px;" value="<%= subdomain.priority %>"/>
</div>
</li>
<li class="orgSubColumn">
@ -52,4 +52,20 @@
$(edit_id).hide();
// $(edit_id).focus();
}
function domain_update_priority(show_id, edit_id, field_id, domain_id, input_value){
var re = /^[0-9]*[1-9]*[0-9]$/
if(re.test(input_value) && $(show_id).html().trim() != input_value.trim() && input_value.trim() != ''){
$.ajax({
url: "/org_subfields/" + field_id + "/sub_domains/" + domain_id + "/domain_update_priority?priority=" + input_value,
type: 'put'
});
}
else{
$(edit_id).children("input").val($(show_id).html().trim());
}
$(show_id).show();
$(edit_id).hide();
}
</script>

@ -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}) %>");

@ -135,6 +135,9 @@ 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]
end
end

Loading…
Cancel
Save