diff --git a/src/www/interfaces.php b/src/www/interfaces.php index e49bcbdfe..b69ffaa5f 100644 --- a/src/www/interfaces.php +++ b/src/www/interfaces.php @@ -1543,6 +1543,94 @@ include("head.inc"); $("#addgatewayv6").toggleClass("hidden visible"); }); + // + // new gateway action + // + $('#gwsave').click(function () { + event.preventDefault(); + $('#gwsave').prop('disabled', true); + var iface = $('#if').val(); + var name = $('#name').val(); + var descr = $('#gatewaydescr').val(); + var gatewayip = $('#gatewayip').val(); + var ajaxhelper = "&ajaxip=" + escape($('#ipaddr').val()) + "&ajaxnet=" + escape($('#subnet').val()); + var defaultgw = ""; + if ($("#defaultgw").prop('checked')) { + defaultgw = "&defaultgw=on"; + } + var fargw = ""; + if ($("#fargw").prop('checked')) { + fargw = "&fargw=on"; + } + jQuery.ajax( "system_gateways_edit.php", { + type: 'post', + data: 'isAjax=true&ipprotocol=inet' + defaultgw + fargw + ajaxhelper + '&interface=' + escape(iface) + '&name=' + escape(name) + '&descr=' + escape(descr) + '&gateway=' + escape(gatewayip), + error: function(request, textStatus, errorThrown){ + if (textStatus === "error" && request.getResponseHeader("Content-Type").indexOf("text/plain") === 0) { + alert(request.responseText); + } else { + alert("Sorry, we could not create your IPv4 gateway at this time."); + } + $('#gwsave').prop('disabled', false); + }, + success: function(response) { + $("#addgateway").toggleClass("hidden visible"); + var selected = "selected=selected"; + if (!$("#multiwangw").prop('checked')) { + selected = ""; + } + $('#gateway').append($("").attr("value",name).text(escape(name) + " - " + gatewayip)); + $('#gateway').selectpicker('refresh'); + $('#gwsave').prop('disabled', false); + } + }); + }); + $("#gwcancel").click(function(){ + $("#addgateway").toggleClass("hidden visible"); + }); + + // + // new gateway v6 action + // + $('#gwsavev6').click(function () { + event.preventDefault(); + $('#gwsavev6').prop('disabled', true); + var iface = $('#if').val(); + var name = $('#namev6').val(); + var descr = $('#gatewaydescrv6').val(); + var gatewayip = $('#gatewayipv6').val(); + var ajaxhelper = "&ajaxip=" + escape($('#ipaddrv6').val()) + "&ajaxnet=" + escape($('#subnetv6').val()); + var defaultgw = ""; + if ($("#defaultgwv6").prop('checked')) { + defaultgw = "&defaultgw=on"; + } + jQuery.ajax( "system_gateways_edit.php", { + type: 'post', + data: 'isAjax=true&ipprotocol=inet6' + defaultgw + ajaxhelper + '&interface=' + escape(iface) + '&name=' + escape(name) + '&descr=' + escape(descr) + '&gateway=' + escape(gatewayip), + error: function(request, textStatus, errorThrown){ + if (textStatus === "error" && request.getResponseHeader("Content-Type").indexOf("text/plain") === 0) { + alert(request.responseText); + } else { + alert("Sorry, we could not create your IPv6 gateway at this time."); + } + $('#gwsavev6').prop('disabled', false); + }, + success: function(response) { + $("#addgatewayv6").toggleClass("hidden visible"); + var selected = "selected=selected"; + if (!$("#multiwangwv6").prop('checked')) { + selected = ""; + } + $('#gatewayv6').append($("").attr("value",name).text(escape(name) + " - " + gatewayip)); + $('#gatewayv6').selectpicker('refresh'); + $('#gwsavev6').prop('disabled', false); + } + }); + }); + $("#gwcancelv6").click(function(){ + $("#addgatewayv6").toggleClass("hidden visible"); + }); + // handle dhcp advanced/basic or custom file select $("#dhcp_mode :input").change(function(){ $(".dhcp_basic").addClass("hidden"); @@ -2078,8 +2166,53 @@ include("head.inc"); endforeach; ?> + + @@ -2593,8 +2726,47 @@ include("head.inc"); endforeach; ?> + +