diff options
Diffstat (limited to 'swat/install')
-rw-r--r-- | swat/install/index.esp | 6 | ||||
-rw-r--r-- | swat/install/menu.js | 5 | ||||
-rw-r--r-- | swat/install/newuser.esp | 41 | ||||
-rw-r--r-- | swat/install/provision.esp | 55 |
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(); %> |