(1)asn导入加入组织国家,asn号验证,组织国家不能为空,asn号不能为两个组织所有

(2)新增asn_keyword_cfg表,用于保存并下发有效且含审核通过asn ip的 asn号
(3)asn 导入去除条数限制
(4)页面asn select选项还是会影响加载页面速度,现在改为input
(5)asn_group_info 修改org_group_id为issued_ips,用于保存审核通过的asn ip
(6)分组复用url配置文件补全v1
This commit is contained in:
wangxin
2019-01-06 11:24:49 +08:00
parent 9979bb26b2
commit f56a0fe09a
37 changed files with 968 additions and 374 deletions

View File

@@ -10,6 +10,10 @@
$("#intype").val("${cfg.organization}");
}else if(''!="${cfg.asnId}"){
$("#intype").val("${cfg.asnId}");
}else if(''!="${cfg.country}"){
$("#intype").val("${cfg.country}");
}else if(''!="${cfg.detail}"){
$("#intype").val("${cfg.detail}");
}else{
$("#intype").attr("placeholder","<spring:message code='input'/> "+$("#seltype").find("option:selected").text());
}
@@ -60,6 +64,20 @@
}
}
});
if(canDel){
tip='<spring:message code="can_not_delete_asn_group_with_audited_ip_address"/>'
$.ajax({
type:'post',
url:'${ctx}/basics/asnGroup/ajaxGetAuditedIPAddress',
data:{"asnIds":asnIds.join(',')},
async:false,
success:function(data,textStatus){//处理返回结果
if(data){
canDel=false;
}
}
});
}
}
if(canDel){
var added = "";
@@ -131,6 +149,8 @@
<form:select path="seltype" class="selectpicker select2 input-small" >
<form:option value="organization"><spring:message code="organization"></spring:message></form:option>
<form:option value="asnId"><spring:message code="asn_no"></spring:message></form:option>
<form:option value="country"><spring:message code="country"></spring:message></form:option>
<form:option value="detail"><spring:message code="detail"></spring:message></form:option>
</form:select>
</div>
@@ -213,7 +233,7 @@
<th class="sort-column r.country"><spring:message code="country"/></th>
<th class="sort-column r.detail"><spring:message code="detail"/></th>
<th class="sort-column r.asn_id"><spring:message code="asn_no"/></th>
<th><spring:message code="is_issued"/></th>
<th class="sort-column r.is_valid"><spring:message code="is_issued"/></th>
<th><spring:message code="creator"/></th>
<th class="sort-column r.create_time"><spring:message code="config_time"/></th>
<th><spring:message code="editor"/></th>

View File

@@ -17,9 +17,9 @@ $(function(){
$(element).parents(".form-group").find("div[for='"+element.attr("name")+"']").append(error);
},
submitHandler: function(form){
$("[name='country']").val($("[name='userRegion1'] option:selected").attr("country"));
/* $("[name='country']").val($("[name='userRegion1'] option:selected").attr("country"));
$("[name='detail']").val($("[name='userRegion1'] option:selected").attr("detail"));
$("[name='asnIpGroup']").val($("[name='userRegion1'] option:selected").attr("asnIpGroup"));
$("[name='asnIpGroup']").val($("[name='userRegion1'] option:selected").attr("asnIpGroup")); */
loading('onloading...');
form.submit();
},
@@ -30,7 +30,7 @@ $(function(){
var asnId=$(this).find("option[value='"+$(this).val()+"']").attr("asnId");
$("#asnId").val(asnId);
}); */
var organization=$("[name='organization']").val();
/* var organization=$("[name='organization']").val();
if(organization){
$.ajax({
type:'post',
@@ -69,7 +69,7 @@ $(function(){
}
}
});
});
}); */
});
//业务窗口打开
var addContent = function(obj, contentClassName) {
@@ -199,7 +199,7 @@ var reSort=function(obj,index){
<div for="asnIpGroup"></div>
</div>
</div> --%>
<div class="col-md-6">
<%-- <div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="organization"/></label>
<div class="col-md-6">
@@ -208,24 +208,25 @@ var reSort=function(obj,index){
<option value="${policyGroup.groupName}" <c:if test="${_cfg.organization eq policyGroup.groupName }">selected</c:if>>${policyGroup.groupName}</option>
</c:forEach>
</select>
<%-- <input class="form-control required" type="text" name="organization" value="${_cfg.organization}"> --%>
<input class="form-control required" type="text" name="organization" value="${_cfg.organization}">
</div>
<div for="organization"></div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
--%>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ASN"/></label>
<div class="col-md-6">
<select name="userRegion1" class="selectpicker show-tick form-control required" data-live-search="true" data-live-search-placeholder="search">
</select>
<%-- <input class="form-control required digits" type="text" name="userRegion1" value="${_cfg.userRegion1}"> --%>
<%-- <select name="userRegion1" class="selectpicker show-tick form-control required" data-live-search="true" data-live-search-placeholder="search">
</select> --%>
<input class="form-control required digits asnMustExists" type="text" name="userRegion1" value="${_cfg.userRegion1}" ctx="${ctx}">
</div>
<div for="userRegion1"></div>
</div>
</div>
</div>
<%-- <div class="row">
<div class="col-md-6 hidden">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="country"/></label>
@@ -246,7 +247,7 @@ var reSort=function(obj,index){
<div for="detail"></div>
</div>
</div>
</div>
</div> --%>
<!-- desc and action -->
<h4 class="form-section">
<spring:message code="asn_ip_configuration" />

View File

@@ -14,9 +14,9 @@ $(function(){
$(element).parents(".form-group").find("div[for='"+element.attr("name")+"']").append(error);
},
submitHandler: function(form){
$("[name='country']").val($("[name='userRegion1'] option:selected").attr("country"));
/* $("[name='country']").val($("[name='userRegion1'] option:selected").attr("country"));
$("[name='detail']").val($("[name='userRegion1'] option:selected").attr("detail"));
$("[name='asnIpGroup']").val($("[name='userRegion1'] option:selected").attr("asnIpGroup"));
$("[name='asnIpGroup']").val($("[name='userRegion1'] option:selected").attr("asnIpGroup")); */
loading('onloading...');
form.submit();
},
@@ -27,7 +27,7 @@ $(function(){
var asnId=$(this).find("option[value='"+$(this).val()+"']").attr("asnId");
$("#asnId").val(asnId);
}); */
var organization=$("[name='organization']").val();
/* var organization=$("[name='organization']").val();
if(organization){
$.ajax({
type:'post',
@@ -70,7 +70,7 @@ $(function(){
}
}
});
});
}); */
});
</script>
</head>
@@ -131,19 +131,30 @@ $(function(){
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="organization"/></label>
<div class="col-md-6">
<select name="organization" class="selectpicker show-tick form-control required" data-live-search="true" data-live-search-placeholder="search">
<c:forEach items="${policyGroups }" var="policyGroup">
<option value="${policyGroup.groupName}" <c:if test="${_cfg.organization eq policyGroup.groupName }">selected</c:if>>${policyGroup.groupName}</option>
</c:forEach>
</select>
<%-- <input class="form-control required" type="text" name="organization" value="${_cfg.organization}"> --%>
</div>
<div for="organization"></div>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ASN"/></label>
<div class="col-md-6">
<!-- <select name="userRegion1" class="selectpicker show-tick form-control required" data-live-search="true" data-live-search-placeholder="search"></select> -->
<input class="form-control required digits asnMustExists" type="text" name="userRegion1" value="${_cfg.userRegion1}" ctx="${ctx}">
</div>
<div for="userRegion1"></div>
</div>
</div>
<%-- <div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="organization"/></label>
<div class="col-md-6">
<select name="organization" class="selectpicker show-tick form-control required" data-live-search="true" data-live-search-placeholder="search">
<c:forEach items="${policyGroups }" var="policyGroup">
<option value="${policyGroup.groupName}" <c:if test="${_cfg.organization eq policyGroup.groupName }">selected</c:if>>${policyGroup.groupName}</option>
</c:forEach>
</select>
<input class="form-control required" type="text" name="organization" value="${_cfg.organization}">
</div>
<div for="organization"></div>
</div>
</div> --%>
<div class="col-md-6 hidden">
<div class="form-group">
<label class="control-label col-md-3"><spring:message code="action"/></label>
@@ -170,17 +181,8 @@ $(function(){
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ASN"/></label>
<div class="col-md-6">
<select name="userRegion1" class="selectpicker show-tick form-control required" data-live-search="true" data-live-search-placeholder="search"></select>
<%-- <input class="form-control" type="text" name="userRegion1" value="${_cfg.userRegion1}"> --%>
</div>
<div for="userRegion1"></div>
</div>
</div>
<%-- <div class="row">
<div class="col-md-6">
<div class="form-group hidden">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="country"/></label>
@@ -201,7 +203,7 @@ $(function(){
<div for="detail"></div>
</div>
</div>
</div>
</div> --%>
<!-- desc and action -->
<%-- <%@include file="/WEB-INF/include/form/complexIpInfo.jsp" %> --%>
<div class="row ipInfo">

View File

@@ -17,13 +17,14 @@
<div class="col-md-6">
<%-- <input type="hidden" name="userRegion5" value="${_cfg.userRegion5}"> --%>
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="group"/></label>
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="organization"/></label>
<div class="col-md-6">
<select name="userRegion4" class="selectpicker show-tick form-control required" data-live-search="true" data-live-search-placeholder="search">
<%-- <select name="userRegion4" class="selectpicker show-tick form-control required" data-live-search="true" data-live-search-placeholder="search">
<c:forEach items="${policyGroups }" var="policyGroup">
<option asnId="${policyGroup.asnId}" value="${policyGroup.groupName}" <c:if test="${asn==policyGroup.groupName }">selected</c:if>><spring:message code="${policyGroup.groupName}"/></option>
</c:forEach>
</select>
</select> --%>
<input class="form-control required invisibleChar orgMustExists" type="text" name="userRegion4" value="${asn}" ctx="${ctx}">
</div>
<div for="userRegion4"></div>
</div>

View File

@@ -705,7 +705,7 @@ var showHideIPSECProtocol=function(obj){
<c:choose>
<c:when test="${fn:length(fn:split(_cfg.userRegion4,','))>0}">
<c:set var="isBreak" value="false" ></c:set>
<c:forEach items="${fn:split(_cfg.userRegion4,',')}" var="asn">${_cfg.cfgType}
<c:forEach items="${fn:split(_cfg.userRegion4,',')}" var="asn">
<c:choose>
<c:when test="${!isBreak}">
<div class="row boxSolid asn ${tabName}${status.index}">

View File

@@ -218,25 +218,15 @@
</c:if>
</c:forEach>
</c:if>
<c:if test="${(region[0] eq 3) && (not empty _cfg.userRegion4)}">
<c:forEach items="${_cfg.asnGroups}" var="asn">
<c:if test="${(region[0] eq 3) && (not empty _cfg.asnKeywords)}">
<c:forEach items="${_cfg.asnKeywords}" var="asn">
<div id="${region[1]}Info${index}" class="content" name="subCfg${index}">
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label><spring:message code='organization'/>:</label>
<label>
${asn.organization}
</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label><spring:message code='country'/>:</label>
<label>
${asn.country}
${asn.userRegion4}
</label>
</div>
</div>
@@ -246,17 +236,7 @@
<div class="form-group">
<label><spring:message code='asn_no'/>:</label>
<label>
${asn.asnId}
</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label><spring:message code='detail'/>:</label>
<label>
${asn.detail}
${asn.cfgKeywords}
</label>
</div>
</div>

View File

@@ -959,6 +959,41 @@ jQuery.validator.addMethod("asnNoUnique",function(value, element) {
});
return result;
});
jQuery.validator.addMethod("asnMustExists",function(value, element) {
var ctx=$(element).attr("ctx");
//var id= $("[name='id']").val();
var url = ctx+"/basics/asnGroup/checkAsnNo";
var result = true;
$.ajax({
type:'post',
async:false,
url: url,
data:{"asnId":value},
success:function(data){
if(data==true){
result=false;
}else{
result=true;
}
}
});
return result;
});
jQuery.validator.addMethod("orgMustExists",function(value, element) {
var ctx=$(element).attr("ctx");
var url = ctx+"/basics/asnGroup/orgMustExists";
var result = true;
$.ajax({
type:'post',
async:false,
url: url,
data:{"organization":value},
success:function(data){
result = data;
}
});
return result;
});
jQuery.validator.addMethod("areaUnique",function(value,element) {
var flag = true;

View File

@@ -78,6 +78,8 @@
netAddress:"The class C type of IP addresses must has the same network number bit field",
addrPoolUnique:"Address Pool already exists.",
asnNoUnique:"ASN already exists.",
asnMustExists:"ASN Must exists in ASN Group.",
orgMustExists:"ASN organization Must exists in ASN Group and have an approved ASN IP",
areaUnique:"Area already exists.",
config_sync_tip:"The system is being maintained and temporarily inaccessible.",
ipMaskSole:"IP already exists.",

View File

@@ -78,6 +78,8 @@
netAddress:"Тип IP-адресов класса C должен иметь один и тот же номер сети бит поля.",
addrPoolUnique:"Address Pool уже существует.",
asnNoUnique:"ASN уже существует.",
asnMustExists:"ASN Must exists in ASN Group.",
orgMustExists:"ASN organization Must exists in ASN Group and have an approved ASN IP",
areaUnique:"Регион уже существует.",
config_sync_tip:"Система находится под техническим обслуживанием и временно недоступна.",
ipMaskSole:"IP уже существует.",

View File

@@ -78,6 +78,8 @@
netAddress:"C类IP地址网络位必须相同",
addrPoolUnique:"地址池已存在",
asnNoUnique:"ASN号已存在",
asnMustExists:"ASN号必须存在于ASN组中",
orgMustExists:"ASN组织 必须存在于ASN组中并且包含已审核ASN IP",
areaUnique:"该区域已存在",
config_sync_tip:"系统正在维护中,暂时不可访问!",
ipMaskSole:"IP已存在",