From: David Lutterkort <[email protected]>
The form had two problems:
* the source fields (address/group) were generated outside the <form> tag
and hence the fields were never submitted
* the names for the port_from and port_to fields were incorrect
Signed-off-by: David Lutterkort <[email protected]>
---
server/public/javascripts/application.js | 32 +++++++++++-----------------
server/views/firewalls/new_rule.html.haml | 7 +++--
2 files changed, 17 insertions(+), 22 deletions(-)
diff --git a/server/public/javascripts/application.js
b/server/public/javascripts/application.js
index aa755d3..2e3e82b 100644
--- a/server/public/javascripts/application.js
+++ b/server/public/javascripts/application.js
@@ -108,33 +108,27 @@ var addresses = 0;
var groups = 0;
function make_fields(type)
{
- form = document.getElementById("new_rule_form")
- button = document.getElementById("submit_button")
- if(type == "address")
+ if (type == "address")
{
name = "ip_address" + eval(++addresses)
- create_rule_source_field(name, "Address " + eval(addresses) + " [use CIDR
notation 0.0.0.0/0]", form, button)
+ create_rule_source_field(name, "Address " + eval(addresses),
+ "[use CIDR notation 0.0.0.0/0]")
}
- else if(type == "group")
+ else if (type == "group")
{
name = "group" + eval(++groups)
- create_rule_source_field(name, "Name of group " + eval(groups), form,
button)
+ create_rule_source_field(name, "Name of group " + eval(groups), "")
name = "group" + eval(groups) + "owner"
- create_rule_source_field(name, "Group " + eval(groups) + " owner
(required)", form, button)
+ create_rule_source_field(name, "Group " + eval(groups) + " owner",
"(required)")
}
}
-function create_rule_source_field(name, label, form, button)
+function create_rule_source_field(name, label, hint)
{
- element = document.createElement("INPUT")
- element.type = "input"
- element.size = 35
- element.name = name
- text = document.createTextNode(label)
- form.insertBefore(element, button)
- form.insertBefore(text, element)
- form.insertBefore(document.createElement('BR'), element)
- form.insertBefore(document.createElement('BR'), button)
- form.insertBefore(document.createElement('BR'), button)
- form.insertBefore(document.createElement('BR'), button)
+ html = "<br/>" +
+ "<label>" + label + "</label> " +
+ "<input name='" + name + "' size=35 type='text'/>" +
+ "<span> " + hint + "</span>"
+
+ $(html).insertBefore("#new_rule_form_fields")
}
diff --git a/server/views/firewalls/new_rule.html.haml
b/server/views/firewalls/new_rule.html.haml
index 110ac8e..1cba509 100644
--- a/server/views/firewalls/new_rule.html.haml
+++ b/server/views/firewalls/new_rule.html.haml
@@ -7,13 +7,14 @@
%input{ :type => :text, :id => :protocol, :name => :protocol, :value =>
'', :size => 10 }
%div{ 'data-role' => :fieldcontain }
%label{ :for => :name} From port:
- %input{ :type => :text, :id => :from_port, :name => :from_port, :value
=> '', :size => 10 }
+ %input{ :type => :text, :id => :port_from, :name => :port_from, :value
=> '', :size => 10 }
%div{ 'data-role' => :fieldcontain }
%label{ :for => :name} To port:
- %input{ :type => :text, :id => :to_port, :name => :to_port, :value =>
'', :size => 10 }
+ %input{ :type => :text, :id => :port_to, :name => :port_to, :value =>
'', :size => 10 }
%div{ 'data-role' => :fieldcontain }
%a{ :href => "javascript:;", :onclick => "make_fields('address');"} Add
source IP address
%br
%a{ :href => "javascript:;", :onclick => "make_fields('group');"} Add
source group
+ %br
+ #new_rule_form_fields
%button{ :type => :submit} Create
-
--
1.7.6