diff --git a/swat/esptest/exception.esp b/swat/esptest/exception.esp
index dcc0fda0930..f32aaeb610e 100644
--- a/swat/esptest/exception.esp
+++ b/swat/esptest/exception.esp
@@ -1,4 +1,6 @@
-<% page_header("columns", "ESP Exception test", "/esptest/menu.js"); %>
+<% page_header("columns", "ESP Exception test", "/esptest/menu.js");
+ include("/scripting/forms.js");
+%>
Samba4 exception test
@@ -8,7 +10,7 @@ var f = FormObj("ExceptionTest", 0, 2);
f.submit[0] = "Generate Exception";
f.submit[1] = "No Exception";
-display_form(f);
+f.display();
if (request['REQUEST_METHOD'] == "POST") {
function TestFunction(arg1, arg2) {
diff --git a/swat/esptest/formtest.esp b/swat/esptest/formtest.esp
index 5cb4f003272..32ad4a04b20 100644
--- a/swat/esptest/formtest.esp
+++ b/swat/esptest/formtest.esp
@@ -1,4 +1,6 @@
-<% page_header("columns", "ESP Form Test", "/esptest/menu.js"); %>
+<% page_header("columns", "ESP Form Test", "/esptest/menu.js");
+ include("/scripting/forms.js");
+%>
<%
var f = FormObj("FormTest", 3, 2);
@@ -15,7 +17,7 @@ f.element[2].value = form['Color'];
f.submit[0] = "OK";
f.submit[1] = "Cancel";
-display_form(f);
+f.display();
<%
/* if its a post then the user has filled in the form, so
diff --git a/swat/esptest/loadparm.esp b/swat/esptest/loadparm.esp
index 9ea83b77bca..2783c8e6474 100644
--- a/swat/esptest/loadparm.esp
+++ b/swat/esptest/loadparm.esp
@@ -1,4 +1,6 @@
-<% page_header("columns", "ESP loadparm test", "/esptest/menu.js" ); %>
+<% page_header("columns", "ESP loadparm test", "/esptest/menu.js" );
+ include("/scripting/forms.js");
+%>
Samba4 loadparm test
@@ -10,7 +12,7 @@ f.element[0].label = "Share";
f.element[1].label = "Parameter";
f.submit[0] = "OK";
-display_form(f);
+f.display();
function stringVar(v) {
var type = typeof(v);
diff --git a/swat/esptest/session.esp b/swat/esptest/session.esp
index 01352212668..6637c782c08 100644
--- a/swat/esptest/session.esp
+++ b/swat/esptest/session.esp
@@ -1,4 +1,6 @@
-<% page_header("columns", "ESP session test", "/esptest/menu.js"); %>
+<% page_header("columns", "ESP session test", "/esptest/menu.js");
+ include("/scripting/forms.js");
+%>
Samba4 session test
@@ -12,7 +14,7 @@ f.submit[1] = "Reset";
f.submit[2] = "Destroy";
f.submit[3] = "Cancel";
-display_form(f);
+f.display();
/* if its a post then the user has filled in the form, so
report the values
diff --git a/swat/install/newuser.esp b/swat/install/newuser.esp
index 42c109df6bc..afcd9e4d55b 100644
--- a/swat/install/newuser.esp
+++ b/swat/install/newuser.esp
@@ -1,5 +1,6 @@
<% page_header("columns", "Add a user", "/install/menu.js");
+ include("/scripting/forms.js");
libinclude("base.js");
libinclude("provision.js");
%>
@@ -34,7 +35,7 @@ if (form['submit'] == "Add" &&
}
newuser(form.USERNAME, form.UNIXNAME, form.PASSWORD, writefln);
} else {
- display_form(f);
+ f.display();
}
%>
diff --git a/swat/install/provision.esp b/swat/install/provision.esp
index 3eb7ba720d3..12e378475a6 100644
--- a/swat/install/provision.esp
+++ b/swat/install/provision.esp
@@ -1,5 +1,6 @@
<% page_header("columns", "Provisioning", "/install/menu.js");
+ include("/scripting/forms.js");
libinclude("base.js");
libinclude("provision.js");
%>
@@ -58,7 +59,7 @@ lp.set("realm", subobj.REALM);
if (form['submit'] == "Provision") {
provision(subobj, writefln);
} else {
- display_form(f);
+ f.display();
}
%>
diff --git a/swat/login.esp b/swat/login.esp
index 67fd45f8c0a..ae9a3582431 100644
--- a/swat/login.esp
+++ b/swat/login.esp
@@ -1,5 +1,6 @@
<% page_header("plain", "SWAT Login", "");
libinclude("auth.js");
+ include("/scripting/forms.js");
if (request['SESSION_EXPIRED'] == "True") {
write("Your session has expired - please authenticate again
\n");
@@ -16,7 +17,7 @@ f.element[2].type = "select";
f.element[2].list = getDomainList();
f.submit[0] = "Login";
-display_form(f);
+f.display();
%>
<%
diff --git a/swat/scripting/common.js b/swat/scripting/common.js
index f868040f03d..84a14216033 100644
--- a/swat/scripting/common.js
+++ b/swat/scripting/common.js
@@ -185,87 +185,3 @@ function multi_table(array, header) {
write("\n");
}
-/*
- create a Form object with the defaults filled in, ready for display_form()
- */
-function FormObj(name, num_elements, num_submits)
-{
- var f = new Object();
- f.name = name;
- f.element = new Array(num_elements);
- f.submit = new Array(num_submits);
- f.action = session_uri(request.REQUEST_URI);
- f.class = "defaultform";
- for (i in f.element) {
- f.element[i] = new Object();
- f.element[i].type = "text";
- f.element[i].value = "";
- }
- return f;
-}
-
-/*
- display a simple form from a ejs Form object
- caller should fill in
- f.name = form name
- f.action = action to be taken on submit (optional, defaults to current page)
- f.class = css class (optional, defaults to 'form')
- f.submit = an array of submit labels
- f.element[i].label = element label
- f.element[i].name = element name (defaults to label)
- f.element[i].type = element type (defaults to text)
- f.element[i].value = current value (optional, defaults to "")
- */
-function display_form(f) {
- var i, size = 20;
- write('\n");
-}
-
diff --git a/swat/scripting/forms.js b/swat/scripting/forms.js
new file mode 100644
index 00000000000..e44deeb1805
--- /dev/null
+++ b/swat/scripting/forms.js
@@ -0,0 +1,93 @@
+/*
+ js functions for forms
+*/
+
+
+/*
+ display a simple form from a ejs Form object
+ caller should fill in
+ f.name = form name
+ f.action = action to be taken on submit (optional, defaults to current page)
+ f.class = css class (optional, defaults to 'form')
+ f.submit = an array of submit labels
+ f.element[i].label = element label
+ f.element[i].name = element name (defaults to label)
+ f.element[i].type = element type (defaults to text)
+ f.element[i].value = current value (optional, defaults to "")
+ */
+function form_display() {
+ var f = this;
+ var i, size = 20;
+ write('\n");
+}
+
+
+/*
+ create a Form object with the defaults filled in, ready for display()
+ */
+function FormObj(name, num_elements, num_submits)
+{
+ var f = new Object();
+ f.name = name;
+ f.element = new Array(num_elements);
+ f.submit = new Array(num_submits);
+ f.action = session_uri(request.REQUEST_URI);
+ f.class = "defaultform";
+ for (i in f.element) {
+ f.element[i] = new Object();
+ f.element[i].type = "text";
+ f.element[i].value = "";
+ }
+ f.display = form_display;
+
+ return f;
+}
+