X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=static%2Fstatic%2Fjs%2Fexpert.js;h=9c623e7321ad95e530f496dd7bf739eef6a20fb4;hb=e7f7dbb405adb8f3ea733da746842622b2693c4a;hp=731dddde58f991e28868b2ec48e016fe4ab21384;hpb=df34ffdb62c871885de7a0570c174b5169980943;p=gigi.git diff --git a/static/static/js/expert.js b/static/static/js/expert.js index 731dddde..9c623e73 100644 --- a/static/static/js/expert.js +++ b/static/static/js/expert.js @@ -60,8 +60,83 @@ } } } + function initCertForm() { + if(document.getElementById("placeholderName") == null) { + return; + } + function getHint(id){ + var elem = document.getElementById(id); + if(elem === null) { + return null; + } + return $(elem).text(); + } + $("select[name=profile]").off("change"); + $("textarea[name=SANs]").off("keydown"); + $("textarea[name=SANs]").get(0).modified=false; + $("input[name=CN]").off("keydown"); + $("input[name=CN]").get(0).modified=false; + + var placeholderName = getHint("placeholderName"); + var defaultName = getHint("defaultName"); + var defaultEmail = getHint("defaultEmail"); + var defaultDomain = getHint("defaultDomain"); + if(defaultName === null) { + return; + } + $("textarea[name=SANs]").on("keydown", function(){ + this.modified = this.value !== ""; + }); + $("input[name=CN]").on("keydown", function(){ + this.modified = this.value !== ""; + }); + + var loginCheck = document.getElementById("login"); + $("select[name=profile]").change(function(){ + var val = this.value; + var sans = $("textarea[name=SANs]").get(0); + if(val.match(/client.*/)) { + loginCheck.checked = true; + loginCheck.disabled = false; + } else { + loginCheck.checked = false; + loginCheck.disabled = true; + } + if(val.match(/client.*|mail.*/)) { + if(!sans.modified) { + sans.value = "email:"+defaultEmail; + } + } else if(val.match(/server.*/)) { + if(!sans.modified) { + sans.value = defaultDomain === null ? "" : "dns:" + defaultDomain; + } + } + var cn = $("input[name=CN]").get(0); + if(val.match(/.*-a/)) { + if(!cn.modified) { + cn.value = defaultName; + } + }else{ + if(!cn.modified) { + cn.value = placeholderName; + } + } + }); + var children = $("select[name=profile]").get(0).children; + var target = "client-mail"; + for(var i=0; i < children.length; i++){ + if(children[i].value == "client-mail-a"){ + target = "client-mail-a"; + } + } + + $("select[name=profile]").get(0).value = target; + $("select[name=profile]").trigger("change"); + + } function init(){ showExpert(false); + initCertForm(); var expert = document.getElementById("expertbox"); if(expert !== null) { expert.onchange = (function(expert){return function(){showExpert(expert.checked)}})(expert);