From bb9f818b817c3e3e79ff1e9de233759a7357107f Mon Sep 17 00:00:00 2001 From: Őry Máté <ory.mate@cloud.bme.hu> Date: Wed, 12 Nov 2014 12:53:38 +0100 Subject: [PATCH] network: add magic buttons to HostForm --- circle/network/forms.py | 8 +++++--- circle/network/static/js/network.js | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/circle/network/forms.py b/circle/network/forms.py index 7287488..c0d35a0 100644 --- a/circle/network/forms.py +++ b/circle/network/forms.py @@ -21,7 +21,7 @@ from django.utils.translation import ugettext_lazy as _ from crispy_forms.helper import FormHelper from crispy_forms.layout import Layout, Fieldset, Div, Submit, BaseInput -from crispy_forms.bootstrap import FormActions +from crispy_forms.bootstrap import FormActions, AppendedText from firewall.models import (Host, Vlan, Domain, Group, Record, BlacklistItem, Rule, VlanGroup, SwitchPort) @@ -122,8 +122,10 @@ class HostForm(ModelForm): Fieldset( _('Network'), 'vlan', - 'ipv4', - 'ipv6', + AppendedText('ipv4', + '<i class="fa fa-magic" id="ipv4-magic"></i>'), + AppendedText('ipv6', + '<i class="fa fa-magic" id="ipv6-magic"></i>'), 'shared_ip', 'external_ipv4', ), diff --git a/circle/network/static/js/network.js b/circle/network/static/js/network.js index e59d0e8..f106dc5 100644 --- a/circle/network/static/js/network.js +++ b/circle/network/static/js/network.js @@ -30,4 +30,23 @@ function getURLParameter(name) { $(function() { $("[title]").tooltip(); + +$("#ipv6-magic").click(function() { + $.ajax({url: window.location, + data: {ipv4: $("[name=ipv4]").val(), + vlan: $("[name=vlan]").val()}, + success: function(data) { + $("[name=ipv6]").val(data["ipv6"]); + }}); +}); +$("#ipv4-magic").click(function() { + $.ajax({url: window.location, + data: {vlan: $("[name=vlan]").val()}, + success: function(data) { + $("[name=ipv4]").val(data["ipv4"]); + if (!$("[name=ipv6]").val()) { + $("[name=ipv6]").val(data["ipv6"]); + } + }}); +}); }); -- libgit2 0.26.0