diff --git a/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java b/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java index d05d67ae2..3981edec0 100644 --- a/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java +++ b/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java @@ -1,6 +1,5 @@ package com.nis.web.controller.configuration.maintenance; -import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -9,9 +8,7 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.eclipse.jetty.util.ajax.JSON; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -21,12 +18,8 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.nis.domain.Page; -import com.nis.domain.basics.IpReuseIpCfg; -import com.nis.domain.basics.PolicyGroupInfo; import com.nis.domain.configuration.BaseIpCfg; import com.nis.domain.configuration.IpAddrPoolCfg; -import com.nis.domain.configuration.IpMultiplexPoolCfg; -import com.nis.domain.configuration.UserManage; import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil; import com.nis.util.Constants; diff --git a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java index ae8789d9b..74623f98c 100644 --- a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java +++ b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java @@ -24,9 +24,7 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.nis.domain.Page; @@ -34,7 +32,6 @@ import com.nis.domain.SysDataDictionaryItem; import com.nis.domain.basics.PolicyGroupInfo; import com.nis.domain.configuration.BaseIpCfg; import com.nis.domain.configuration.IpAddrPoolCfg; -import com.nis.domain.configuration.IpMultiplexPoolCfg; import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.IpReusePolicyCfg; import com.nis.domain.configuration.UserManage; @@ -167,23 +164,9 @@ public class IpMultiplexController extends CommonController { // 获取用户信息 地址池信息 List users = userManageService.findUsers(); - List addrPools = ipAddrPoolCfgService.getEffectiveAddrPool(); - List addrPoolsNew=new ArrayList<>(); - for (IpAddrPoolCfg addrPool : addrPools) { - Map params = new HashMap(); - params.put("addr_pool_id", addrPool.getCfgId()); - String url =Constants.IP_REUSE_CALL_CGI_URL ; - Map resultMap=ConfigServiceUtil.getCGIInfo(url, Constants.IP_NUM_GET, params); - if(!StringUtil.isEmpty(resultMap) - && !StringUtil.isEmpty(resultMap.get("num")) - && Integer.parseInt(resultMap.get("num").toString()) > 0) { - addrPoolsNew.add(addrPool); - } - } model.addAttribute("_cfg", cfg); model.addAttribute("users", users); - model.addAttribute("addrPools", addrPoolsNew); model.addAttribute("urlPrefix","/manipulation/ipmulitiplex"); return "/cfg/manipulation/ipmulitiplex/snatPolicyForm2"; } @@ -250,6 +233,31 @@ public class IpMultiplexController extends CommonController { return "redirect:" + adminPath +"/manipulation/ipmulitiplex/snatPolicyList?functionId="+functionId; } + /** + * 异步获取地址池信息 + * @param request + * @param response + * @return + */ + @ResponseBody + @RequestMapping(value = {"/ajaxGetAddrPools"}) + public List ajaxGetAddrPools(HttpServletRequest request, HttpServletResponse response){ + List addrPools = ipAddrPoolCfgService.getEffectiveAddrPool(); + List addrPoolsNew=new ArrayList<>(); + for (IpAddrPoolCfg addrPool : addrPools) { + Map params = new HashMap(); + params.put("addr_pool_id", addrPool.getCfgId()); + String url =Constants.IP_REUSE_CALL_CGI_URL ; + Map resultMap=ConfigServiceUtil.getCGIInfo(url, Constants.IP_NUM_GET, params); + if(!StringUtil.isEmpty(resultMap) + && !StringUtil.isEmpty(resultMap.get("num")) + && Integer.parseInt(resultMap.get("num").toString()) > 0) { + addrPoolsNew.add(addrPool); + } + } + return addrPoolsNew; + } + @RequestMapping(value = {"/dnatPolicyList"}) public String dnatPolicyList(String cfgName,Model model,@ModelAttribute("cfg")IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) { this._ipList(cfgName,model, cfg, request, response); diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index 9fafde797..3961b99e9 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -1336,4 +1336,5 @@ address_pool_is_used=Address pool is used and cannot perform this operation! cgi_service_failed=Request CGI server failed available_ip=Available IP config_sync=Configuration Synchronization -info_failed=Information Acquisition Failure \ No newline at end of file +info_failed=Information Acquisition Failure +address_pool_ip_configuration=Address Pool IP Configuration \ No newline at end of file diff --git a/src/main/resources/messages/message_ru.properties b/src/main/resources/messages/message_ru.properties index 262836982..5d5efdc8e 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -1334,4 +1334,5 @@ address_pool_id=Address Pool ID log_to_cfg=\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F address_pool_is_used=Address pool is used and cannot perform this operation! available_ip=Available IP -config_sync=Configuration Synchronization \ No newline at end of file +config_sync=Configuration Synchronization +address_pool_ip_configuration=Address Pool IP Configuration \ No newline at end of file diff --git a/src/main/resources/messages/message_zh_CN.properties b/src/main/resources/messages/message_zh_CN.properties index 7923f5fcc..f1a4397bb 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -1334,4 +1334,5 @@ address_pool_is_used=\u5730\u5740\u6C60\u5DF2\u88AB\u4F7F\u7528\uFF0C\u65E0\u6CD cgi_service_failed=\u8BF7\u6C42CGI\u670D\u52A1\u63A5\u53E3\u5931\u8D25 available_ip=\u53EF\u7528IP\u5730\u5740 config_sync=\u914D\u7F6E\u540C\u6B65 -info_failed=\u4FE1\u606F\u83B7\u53D6\u5931\u8D25 \ No newline at end of file +info_failed=\u4FE1\u606F\u83B7\u53D6\u5931\u8D25 +address_pool_ip_configuration=\u5730\u5740\u6C60 IP\u914D\u7F6E \ No newline at end of file diff --git a/src/main/resources/sql/20181204/update_function_service_dict.sql b/src/main/resources/sql/20181204/update_function_service_dict.sql new file mode 100644 index 000000000..b15f3940d --- /dev/null +++ b/src/main/resources/sql/20181204/update_function_service_dict.sql @@ -0,0 +1,6 @@ +-- ftp +UPDATE function_service_dict SET is_valid = 0 WHERE dict_id = 42 AND function_id = 51; +-- mail地址 +UPDATE function_service_dict SET is_valid = 0 WHERE dict_id = 149 AND function_id = 37; +-- mail高级 +UPDATE function_service_dict SET is_valid = 0 WHERE dict_id = 37 AND function_id = 35; \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatform2.jsp b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatform2.jsp index 66ccbae35..74a0f7ea4 100644 --- a/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatform2.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/maintenance/ipMultiplexPool/snatform2.jsp @@ -11,6 +11,7 @@ $(function(){ if($(".ipDiv").hasClass("hidden")){ $(".ipDiv").remove(); } + $(".addDiv").removeClass("hidden"); if('${fn:length(serviceList)}'>1){ $("#serviceId").val($(".action:checked").attr("serviceId")); $("#protocolId").val($(".action:checked").attr("protocolId")); @@ -39,23 +40,23 @@ $(function(){ ipInfoDiv.removeClass("ipDiv"); ipInfoDiv.removeClass("hidden"); - ipInfoDiv.find("button").each(function(){ - $(this).removeClass("addDivBut"); - $(this).children("font").attr("color","#ed6b75").attr("class","fa fa-times"); - }); - setFirstIpDiv(); resetIndex(); }); var resetDiv = function(obj){ // 添加 or 删除 - if($(obj).hasClass("addDivBut")){ + if($(obj).hasClass("addDiv")){ $(".ipInfo").last().after(ipInfoDiv.clone()); }else{ - $(obj).parents(".ipInfo:first").remove(); + if($(".ipInfo").length == 1){ + top.$.jBox.tip(""); + return; + }else{ + $(obj).parents(".ipInfo:first").remove(); + } } - $(".selectpicker").selectpicker("render");// 重新渲染页面 + $(".selectpicker").selectpicker("render");// 重新渲染 $("select[name$='ipType']").on("change",function(){ switchIpInfo(this); }); @@ -65,15 +66,6 @@ var resetDiv = function(obj){ resetIndex(); } -// 设置第一个div + -var setFirstIpDiv = function(){ - $(".ipInfo").not(".ipDiv").first().find("button").each(function(){ - $(this).addClass("addDivBut"); - $(this).children("font").attr("color","#27a4b0").attr("class","fa fa-plus"); - }); - -} - var resetIndex = function(){ // 设置索引 $(".ipInfo").not(".hidden").each(function(index,element){ @@ -178,15 +170,27 @@ var resetIndex = function(){
- +
-
hidden"> - +

+ + + + +

+
hidden"> +
+
+ +
+
@@ -203,86 +207,7 @@ var resetIndex = function(){
-
-
- -
-
- - - - -
-
-
-
-
-
- -
-
-
- -
- -
-
-
-
- -
-
- -
- -
-
-
-
-
-
-
-
- -
- -
-
-
-
-
-
- -
- -
-
-
-
-
- +
+
+ +
+
+
+ +
+ +
+
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ +
+
+
+ +
+ +
+
+
+
+
+
+
+
+ +
+ +
+
+
+
+
+
+ +
+ +
+
+
+
+
+
-
- +
+
+
+ +
+
@@ -343,22 +349,28 @@ var resetIndex = function(){
-
- -
-
- - - - -
-
-
+ -
+
-
+
@@ -377,7 +389,19 @@ var resetIndex = function(){
- + +
+