Author: deryck Date: 2005-08-10 19:25:07 +0000 (Wed, 10 Aug 2005) New Revision: 9230
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9230 Log: Star out passwords and add confim text input for provisioning. Also, add addMethod() to form elements now. deryck Modified: branches/SAMBA_4_0/swat/install/provision.esp branches/SAMBA_4_0/swat/scripting/forms.js Changeset: Modified: branches/SAMBA_4_0/swat/install/provision.esp =================================================================== --- branches/SAMBA_4_0/swat/install/provision.esp 2005-08-10 16:02:32 UTC (rev 9229) +++ branches/SAMBA_4_0/swat/install/provision.esp 2005-08-10 19:25:07 UTC (rev 9230) @@ -8,7 +8,7 @@ <h1>Samba4 provisioning</h1> <% -var f = FormObj("Provisioning", 9, 2); +var f = FormObj("Provisioning", 0, 3); var i; var lp = loadparm_init(); @@ -18,26 +18,19 @@ var subobj = provision_guess(); +/* Don't supply default password for web interface */ +subobj.ADMINPASS = ""; -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[3].type = "password"; -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.add("REALM", "Realm"); +f.add("DOMAIN", "Domain Name"); +f.add("HOSTNAME", "Hostname"); +f.add("ADMINPASS", "Administrator Password", "password"); +f.add("CONFIRM", "Confirm Password", "password"); +f.add("DOMAINSID", "Domain SID"); +f.add("HOSTGUID", "Host GUID"); +f.add("BASEDN", "Base DN"); +f.add("HOSTIP", "Host IP"); +f.add("DEFAULTSITE", "Default Site"); f.submit[0] = "Initial provision"; f.submit[1] = "Provision"; f.submit[2] = "Cancel"; @@ -58,11 +51,15 @@ lp.set("realm", subobj.REALM); -if (form['submit'] == "Provision") { +var goodpass = (subobj.CONFIRM == subobj.ADMINPASS); +if (form['submit'] == "Provision" && goodpass) { provision(subobj, writefln, true); -} else if (form['submit'] == "Initial provision") { +} else if (form['submit'] == "Initial provision" && goodpass) { provision(subobj, writefln, false); } else { + if (!goodpass && form['submit'] != undefined) { + write("<h3>Passwords don't match. Please try again.</h3>"); + } f.display(); } %> Modified: branches/SAMBA_4_0/swat/scripting/forms.js =================================================================== --- branches/SAMBA_4_0/swat/scripting/forms.js 2005-08-10 16:02:32 UTC (rev 9229) +++ branches/SAMBA_4_0/swat/scripting/forms.js 2005-08-10 19:25:07 UTC (rev 9230) @@ -10,6 +10,8 @@ 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.add(name, label, [type], [value]) = + Add another element f.element[i].label = element label f.element[i].name = element name (defaults to label) f.element[i].type = element type (defaults to text) @@ -69,6 +71,22 @@ write("</form>\n"); } +function __addMethod(name, label) +{ + var f = this; + var i = f.element.length; + f.element[i] = new Object(); + f.element[i].name = name; + f.element[i].label = label; + f.element[i].type = "text"; + f.element[i].value = ""; + if (arguments.length > 2) { + f.element[i].type = arguments[2]; + } + if (arguments.length > 3) { + f.element[i].value = arguments[3]; + } +} /* create a Form object with the defaults filled in, ready for display() @@ -81,6 +99,7 @@ f.submit = new Array(num_submits); f.action = session_uri(request.REQUEST_URI); f.class = "defaultform"; + f.add = __addMethod; for (i in f.element) { f.element[i] = new Object(); f.element[i].type = "text";