1.增加区域管控校验,不可重复 2.IP复用配置表单从group_area_info表中获取分组
This commit is contained in:
@@ -54,7 +54,7 @@ public class IpMultiplexPoolCfgController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//查询ip复用地址池配置的policyGroup列表
|
//查询ip复用地址池配置的policyGroup列表
|
||||||
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(3);
|
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.getHasAreaPolicyGroups(3);
|
||||||
model.addAttribute("policyGroups", policyGroups);
|
model.addAttribute("policyGroups", policyGroups);
|
||||||
model.addAttribute("_cfg", cfg);
|
model.addAttribute("_cfg", cfg);
|
||||||
return "/cfg/maintenance/ipMultiplexPool/form";
|
return "/cfg/maintenance/ipMultiplexPool/form";
|
||||||
@@ -160,7 +160,7 @@ public class IpMultiplexPoolCfgController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//查询ip复用地址池配置的policyGroup列表
|
//查询ip复用地址池配置的policyGroup列表
|
||||||
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(2);
|
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.getHasAreaPolicyGroups(2);
|
||||||
model.addAttribute("policyGroups", policyGroups);
|
model.addAttribute("policyGroups", policyGroups);
|
||||||
model.addAttribute("_cfg", cfg);
|
model.addAttribute("_cfg", cfg);
|
||||||
return "/cfg/maintenance/ipMultiplexPool/snatform";
|
return "/cfg/maintenance/ipMultiplexPool/snatform";
|
||||||
|
|||||||
@@ -133,19 +133,9 @@ public class IpMultiplexController extends CommonController {
|
|||||||
@RequiresPermissions(value={"snat_policy:config"})
|
@RequiresPermissions(value={"snat_policy:config"})
|
||||||
public String snatPolicyForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) {
|
public String snatPolicyForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) {
|
||||||
this._ipForm(cfgName,model, ids, functionId, entity);
|
this._ipForm(cfgName,model, ids, functionId, entity);
|
||||||
SysDataDictionaryItem dict=null;
|
// 获取拥有区域信息的策略分组
|
||||||
List<SysDataDictionaryItem> dictList= DictUtils.getDictList("GROUP_TYPE");
|
List<PolicyGroupInfo> policyGroups = policyGroupInfoService.getHasAreaPolicyGroups(2);
|
||||||
for(SysDataDictionaryItem di:dictList){
|
|
||||||
if("2".equals(di.getItemCode())){
|
|
||||||
dict=di;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(dict!=null){
|
|
||||||
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(Integer.parseInt(dict.getItemCode()));
|
|
||||||
model.addAttribute("policyGroups", policyGroups);
|
model.addAttribute("policyGroups", policyGroups);
|
||||||
}
|
|
||||||
|
|
||||||
model.addAttribute("urlPrefix","/manipulation/ipmulitiplex");
|
model.addAttribute("urlPrefix","/manipulation/ipmulitiplex");
|
||||||
return "/cfg/manipulation/ipmulitiplex/snatPolicyForm";
|
return "/cfg/manipulation/ipmulitiplex/snatPolicyForm";
|
||||||
}
|
}
|
||||||
@@ -182,19 +172,9 @@ public class IpMultiplexController extends CommonController {
|
|||||||
@RequiresPermissions(value={"dnat_policy:config"})
|
@RequiresPermissions(value={"dnat_policy:config"})
|
||||||
public String dnatPolicyForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) {
|
public String dnatPolicyForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) {
|
||||||
this._ipForm(cfgName,model, ids, functionId, entity);
|
this._ipForm(cfgName,model, ids, functionId, entity);
|
||||||
SysDataDictionaryItem dict=null;
|
// 获取拥有区域信息的策略分组
|
||||||
List<SysDataDictionaryItem> dictList= DictUtils.getDictList("GROUP_TYPE");
|
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.getHasAreaPolicyGroups(3);
|
||||||
for(SysDataDictionaryItem di:dictList){
|
|
||||||
if("3".equals(di.getItemCode())){
|
|
||||||
dict=di;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(dict!=null){
|
|
||||||
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(Integer.parseInt(dict.getItemCode()));
|
|
||||||
model.addAttribute("policyGroups", policyGroups);
|
model.addAttribute("policyGroups", policyGroups);
|
||||||
}
|
|
||||||
|
|
||||||
model.addAttribute("urlPrefix","/manipulation/ipmulitiplex");
|
model.addAttribute("urlPrefix","/manipulation/ipmulitiplex");
|
||||||
return "/cfg/manipulation/ipmulitiplex/dnatPolicyForm";
|
return "/cfg/manipulation/ipmulitiplex/dnatPolicyForm";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,4 +18,5 @@ public interface PolicyGroupInfoDao extends CrudDao<PolicyGroupInfo> {
|
|||||||
List<PolicyGroupInfo> findNatPolicyGroups();
|
List<PolicyGroupInfo> findNatPolicyGroups();
|
||||||
|
|
||||||
PolicyGroupInfo getInfoByAsnNo(PolicyGroupInfo policyGroupInfo);
|
PolicyGroupInfo getInfoByAsnNo(PolicyGroupInfo policyGroupInfo);
|
||||||
|
List<PolicyGroupInfo> getHasAreaPolicyGroups(int groupType);
|
||||||
}
|
}
|
||||||
@@ -176,4 +176,17 @@
|
|||||||
</if>
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getHasAreaPolicyGroups" resultType="com.nis.domain.basics.PolicyGroupInfo">
|
||||||
|
SELECT
|
||||||
|
<include refid="PolicyGroupInfoColumns"/>
|
||||||
|
FROM
|
||||||
|
policy_group_info r
|
||||||
|
WHERE
|
||||||
|
r.is_valid = 1 AND
|
||||||
|
r.group_type = #{groupType,jdbcType=INTEGER} AND
|
||||||
|
r.group_id IN (
|
||||||
|
SELECT ga.group_id FROM group_area_info ga WHERE ga.is_valid != -1
|
||||||
|
)
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -145,8 +145,12 @@ public class PolicyGroupInfoService extends BaseService{
|
|||||||
return policyGroupInfoDao.getInfoByAsnNo(policyGroupInfo);
|
return policyGroupInfoDao.getInfoByAsnNo(policyGroupInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getByIds(String ids) {
|
/**
|
||||||
// TODO Auto-generated method stub
|
* IP复用配置表单-获取拥有区域信息的策略分组
|
||||||
|
* @param groupType
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<PolicyGroupInfo> getHasAreaPolicyGroups(int groupType) {
|
||||||
|
return policyGroupInfoDao.getHasAreaPolicyGroups(groupType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,9 +2,18 @@
|
|||||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(function(){
|
$(function(){
|
||||||
|
setSelectIndex();
|
||||||
|
$("#addAreaIsp").on("click",function(){
|
||||||
|
setSelectIndex();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
var setSelectIndex = function(){
|
||||||
|
$("select[areaIsp='area']").each(function(index,item){
|
||||||
|
var name = this.name;
|
||||||
|
var index = name.substring(name.indexOf("[")+1,name.indexOf("]"));
|
||||||
|
$(this).attr("index",index);
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<p class="border-top border-top-blue-sharp"></p>
|
<p class="border-top border-top-blue-sharp"></p>
|
||||||
<h3 class="form-section"><spring:message code="effect_range"/></h3>
|
<h3 class="form-section"><spring:message code="effect_range"/></h3>
|
||||||
@@ -44,7 +53,7 @@ $(function(){
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="hidden" id="areaIsp">
|
<div class="hidden" id="areaIsp">
|
||||||
<h4 class="form-section"><spring:message code="area"/> <%-- <spring:message code="isp"/> --%><small><span class="glyphicon glyphicon-plus" title="add"></span></small></h4>
|
<h4 id="addAreaIsp" class="form-section"><spring:message code="area"/> <%-- <spring:message code="isp"/> --%><small><span class="glyphicon glyphicon-plus" title="add"></span></small></h4>
|
||||||
<div class="container-fluid hidden row">
|
<div class="container-fluid hidden row">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="pull-right">
|
<div class="pull-right">
|
||||||
@@ -54,9 +63,9 @@ $(function(){
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-md-3"><spring:message code="area"/></label>
|
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="area"/></label>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<select name="areaCode" class="form-control required" data-live-search="true" data-live-search-placeholder="search" >
|
<select name="areaCode" areaIsp="area" class="form-control required areaUnique" data-live-search="true" data-live-search-placeholder="search" >
|
||||||
<option value="" ><spring:message code="select"/></option>
|
<option value="" ><spring:message code="select"/></option>
|
||||||
<c:forEach items="${areas}" var="area">
|
<c:forEach items="${areas}" var="area">
|
||||||
<option value="${area.itemCode}">${area.itemValue}</option>
|
<option value="${area.itemCode}">${area.itemValue}</option>
|
||||||
@@ -77,6 +86,7 @@ $(function(){
|
|||||||
</c:forEach>
|
</c:forEach>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<div for="ispCode"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -91,9 +101,9 @@ $(function(){
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-md-3"><spring:message code="area"/></label>
|
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="area"/></label>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<select name="areaIsp[${status.index}].area" class="selectpicker form-control required" data-live-search="true" data-live-search-placeholder="search" >
|
<select name="areaIsp[${status.index}].area" areaIsp="area" class="selectpicker form-control required areaUnique" data-live-search="true" data-live-search-placeholder="search" >
|
||||||
<option value="" ><spring:message code="select"/></option>
|
<option value="" ><spring:message code="select"/></option>
|
||||||
<c:forEach items="${areas}" var="area">
|
<c:forEach items="${areas}" var="area">
|
||||||
<option value="${area.itemCode}"
|
<option value="${area.itemCode}"
|
||||||
@@ -123,7 +133,8 @@ $(function(){
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
|
<!-- <div for="ispArea" ><label class="error">Area already exists.</label></div> -->
|
||||||
|
<%--<span id="rangeError" style="display:none"><spring:message code="area_existed"/></span> --%>
|
||||||
</div>
|
</div>
|
||||||
<%-- <div class="hidden" id="areaIp">
|
<%-- <div class="hidden" id="areaIp">
|
||||||
<h4 class="form-section"><spring:message code="area"/> ip<small><span class="glyphicon glyphicon-plus" title="add"></span></small></h4>
|
<h4 class="form-section"><spring:message code="area"/> ip<small><span class="glyphicon glyphicon-plus" title="add"></span></small></h4>
|
||||||
|
|||||||
@@ -959,3 +959,19 @@ jQuery.validator.addMethod("asnNoUnique",function(value, element) {
|
|||||||
});
|
});
|
||||||
return result;
|
return result;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
jQuery.validator.addMethod("areaUnique",function(value,element) {
|
||||||
|
var flag = true;
|
||||||
|
var array = new Array();
|
||||||
|
var index = $(element).attr("index");
|
||||||
|
$("select[areaIsp='area']").each(function(){
|
||||||
|
var code = $(this).val();
|
||||||
|
if($(this).attr("index") < index){
|
||||||
|
array.push(code);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if($.inArray(value,array) != -1){
|
||||||
|
flag = false;
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
});
|
||||||
@@ -77,6 +77,7 @@
|
|||||||
protocolPort1:"Only when TCP protocol or UDP protocol is chosen can port greater than 0",
|
protocolPort1:"Only when TCP protocol or UDP protocol is chosen can port greater than 0",
|
||||||
netAddress:"The class C type of IP addresses must has the same network number bit field",
|
netAddress:"The class C type of IP addresses must has the same network number bit field",
|
||||||
ipUnique:"IP already exists.",
|
ipUnique:"IP already exists.",
|
||||||
asnNoUnique:"ASN already exists."
|
asnNoUnique:"ASN already exists.",
|
||||||
|
areaUnique:"Area already exists."
|
||||||
});
|
});
|
||||||
}(jQuery));
|
}(jQuery));
|
||||||
|
|||||||
@@ -77,6 +77,7 @@
|
|||||||
protocolPort1:"Only when TCP protocol or UDP protocol is chosen can port greater than 0",
|
protocolPort1:"Only when TCP protocol or UDP protocol is chosen can port greater than 0",
|
||||||
netAddress:"C类IP地址网络位必须相同",
|
netAddress:"C类IP地址网络位必须相同",
|
||||||
ipUnique:"IP already exists.",
|
ipUnique:"IP already exists.",
|
||||||
asnNoUnique:"ASN already exists."
|
asnNoUnique:"ASN already exists.",
|
||||||
|
areaUnique:"Area already exists."
|
||||||
});
|
});
|
||||||
}(jQuery));
|
}(jQuery));
|
||||||
|
|||||||
@@ -78,5 +78,6 @@
|
|||||||
netAddress:"C类IP地址网络位必须相同",
|
netAddress:"C类IP地址网络位必须相同",
|
||||||
ipUnique:"IP已存在",
|
ipUnique:"IP已存在",
|
||||||
asnNoUnique:"ASN号已存在",
|
asnNoUnique:"ASN号已存在",
|
||||||
|
areaUnique:"该区域已存在"
|
||||||
});
|
});
|
||||||
}(jQuery));
|
}(jQuery));
|
||||||
|
|||||||
Reference in New Issue
Block a user