summaryrefslogtreecommitdiff
path: root/swat/install
diff options
context:
space:
mode:
Diffstat (limited to 'swat/install')
-rw-r--r--swat/install/index.esp6
-rw-r--r--swat/install/menu.js5
-rw-r--r--swat/install/newuser.esp41
-rw-r--r--swat/install/provision.esp55
4 files changed, 107 insertions, 0 deletions
diff --git a/swat/install/index.esp b/swat/install/index.esp
new file mode 100644
index 0000000000..ee16bec34a
--- /dev/null
+++ b/swat/install/index.esp
@@ -0,0 +1,6 @@
+<% page_header("columns", "Server Installation", "/install/menu.js");
+%>
+
+<h1>Installation</h1>
+
+<% page_footer(); %>
diff --git a/swat/install/menu.js b/swat/install/menu.js
new file mode 100644
index 0000000000..e8f99f7cac
--- /dev/null
+++ b/swat/install/menu.js
@@ -0,0 +1,5 @@
+/* show a menu for the esp test pages */
+simple_menu(
+ "Installation",
+ "Provisioning", session_uri("/install/provision.esp"),
+ "New User", session_uri("/install/newuser.esp"));
diff --git a/swat/install/newuser.esp b/swat/install/newuser.esp
new file mode 100644
index 0000000000..21a2cb361b
--- /dev/null
+++ b/swat/install/newuser.esp
@@ -0,0 +1,41 @@
+<% page_header("columns", "Add a user", "/install/menu.js");
+
+ libinclude("base.js");
+ libinclude("provision.js");
+%>
+
+<h1>Add a user</h1>
+
+<%
+var f = FormObj("newuser", 3, 2);
+var i;
+
+f.element[0].label = "User Name";
+f.element[0].name = "USERNAME";
+f.element[1].label = "Unix Name";
+f.element[1].name = "UNIXNAME";
+f.element[2].label = "Password";
+f.element[2].name = "PASSWORD";
+f.submit[0] = "Add";
+f.submit[1] = "Cancel";
+
+if (form['submit'] == "Cancel") {
+ redirect("/");
+}
+
+if (form['submit'] == "Add" &&
+ form.USERNAME != undefined) {
+ if (form.UNIXNAME == undefined) {
+ form.UNIXNAME = form.USERNAME;
+ }
+ if (form.PASSWORD == undefined) {
+ form.PASSWORD = randpass();
+ }
+ newuser(form.USERNAME, form.UNIXNAME, form.PASSWORD, writefln);
+} else {
+ display_form(f);
+}
+%>
+
+
+<% page_footer(); %>
diff --git a/swat/install/provision.esp b/swat/install/provision.esp
new file mode 100644
index 0000000000..5c0aa4e77e
--- /dev/null
+++ b/swat/install/provision.esp
@@ -0,0 +1,55 @@
+<% page_header("columns", "Provisioning", "/install/menu.js");
+
+ libinclude("base.js");
+ libinclude("provision.js");
+%>
+
+<h1>Samba4 provisioning</h1>
+
+<%
+var f = FormObj("Provisioning", 9, 2);
+var i, subobj = provision_guess();
+
+f.element[0].label = "Realm";
+f.element[0].name = "REALM";
+f.element[1].label = "Domain Name";
+f.element[1].name = "DOMAIN";
+f.element[2].label = "Host Name";
+f.element[2].name = "HOSTNAME";
+f.element[3].label = "Administrator Password";
+f.element[3].name = "ADMINPASS";
+f.element[4].label = "Domain SID";
+f.element[4].name = "DOMAINSID";
+f.element[5].label = "Host GUID";
+f.element[5].name = "HOSTGUID";
+f.element[6].label = "Base DN";
+f.element[6].name = "BASEDN";
+f.element[7].label = "Host IP";
+f.element[7].name = "HOSTIP";
+f.element[8].label = "Default Site";
+f.element[8].name = "DEFAULTSITE";
+f.submit[0] = "Provision";
+f.submit[1] = "Cancel";
+
+if (form['submit'] == "Cancel") {
+ redirect("/");
+}
+
+if (form['submit'] == "Provision") {
+ for (r in form) {
+ subobj[r] = form[r];
+ }
+}
+
+for (i=0;i<f.element.length;i++) {
+ f.element[i].value = subobj[f.element[i].name];
+}
+if (form['submit'] == "Provision") {
+ provision(subobj, writefln);
+} else {
+ display_form(f);
+}
+%>
+
+
+<% page_footer(); %>