|
@@ -133,7 +133,8 @@
|
|
</div>
|
|
</div>
|
|
<div class="field dnsChallengeOnly" style="display:none;">
|
|
<div class="field dnsChallengeOnly" style="display:none;">
|
|
<div class="ui divider"></div>
|
|
<div class="ui divider"></div>
|
|
- <p>DNS Credentials (Leave all fields empty to use previous settings)</p>
|
|
|
|
|
|
+ <p>DNS Credentials (Leave all fields empty to use previous settings)<br>
|
|
|
|
+ <small><i class="yellow exclamation triangle icon"></i> Note that domain DNS credentials are stored separately. For each new subdomain, you will need to enter a new DNS credentials.</small></p>
|
|
<div id="dnsProviderAPIFields">
|
|
<div id="dnsProviderAPIFields">
|
|
|
|
|
|
</div>
|
|
</div>
|
|
@@ -355,9 +356,26 @@
|
|
// Button click event handler for obtaining certificate
|
|
// Button click event handler for obtaining certificate
|
|
$("#obtainButton").click(function() {
|
|
$("#obtainButton").click(function() {
|
|
$("#obtainButton").addClass("loading").addClass("disabled");
|
|
$("#obtainButton").addClass("loading").addClass("disabled");
|
|
- updateCertificateEAB();
|
|
|
|
- updateCertificateDNS();
|
|
|
|
- obtainCertificate();
|
|
|
|
|
|
+ updateCertificateEAB(function(succ){
|
|
|
|
+ if (succ){
|
|
|
|
+ //Continue to next step
|
|
|
|
+ updateCertificateDNS(function(succ){
|
|
|
|
+ if (succ){
|
|
|
|
+ obtainCertificate(function(succ){
|
|
|
|
+ $("#obtainButton").removeClass("loading").removeClass("disabled");
|
|
|
|
+ });
|
|
|
|
+ }else{
|
|
|
|
+ $("#obtainButton").removeClass("loading").removeClass("disabled");
|
|
|
|
+ console.log("update Certificate DNS process halted");
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }else{
|
|
|
|
+ console.log("Update Certificate EAB process halted");
|
|
|
|
+ $("#obtainButton").removeClass("loading").removeClass("disabled");
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+
|
|
});
|
|
});
|
|
|
|
|
|
//On CA change in dropdown
|
|
//On CA change in dropdown
|
|
@@ -459,7 +477,7 @@
|
|
|
|
|
|
|
|
|
|
// Update EAB values for autorenewal
|
|
// Update EAB values for autorenewal
|
|
- function updateCertificateEAB() {
|
|
|
|
|
|
+ function updateCertificateEAB(callback=undefined) {
|
|
var ca = $("#ca").dropdown("get value");
|
|
var ca = $("#ca").dropdown("get value");
|
|
var caURL = "";
|
|
var caURL = "";
|
|
if (ca == "Custom ACME Server") {
|
|
if (ca == "Custom ACME Server") {
|
|
@@ -472,6 +490,10 @@
|
|
}
|
|
}
|
|
|
|
|
|
if(caURL == "") {
|
|
if(caURL == "") {
|
|
|
|
+ //Skip update
|
|
|
|
+ if (callback != undefined){
|
|
|
|
+ callback(true);
|
|
|
|
+ }
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -479,6 +501,10 @@
|
|
var hmac = $("#eab_hmac").val();
|
|
var hmac = $("#eab_hmac").val();
|
|
|
|
|
|
if(kid == "" || hmac == "") {
|
|
if(kid == "" || hmac == "") {
|
|
|
|
+ //Skip update
|
|
|
|
+ if (callback != undefined){
|
|
|
|
+ callback(true);
|
|
|
|
+ }
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -498,6 +524,9 @@
|
|
console.log("Error:", response.error);
|
|
console.log("Error:", response.error);
|
|
// Show error message
|
|
// Show error message
|
|
parent.msgbox(response.error, false, 12000);
|
|
parent.msgbox(response.error, false, 12000);
|
|
|
|
+ if (callback != undefined){
|
|
|
|
+ callback(false);
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
console.log("Certificate EAB updated successfully");
|
|
console.log("Certificate EAB updated successfully");
|
|
// Show success message
|
|
// Show success message
|
|
@@ -505,12 +534,18 @@
|
|
|
|
|
|
// Renew the parent certificate list
|
|
// Renew the parent certificate list
|
|
parent.initManagedDomainCertificateList();
|
|
parent.initManagedDomainCertificateList();
|
|
|
|
+ if (callback != undefined){
|
|
|
|
+ callback(true);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
},
|
|
},
|
|
error: function(error) {
|
|
error: function(error) {
|
|
//$("#obtainButton").removeClass("loading").removeClass("disabled");
|
|
//$("#obtainButton").removeClass("loading").removeClass("disabled");
|
|
console.log("Failed to update EAB configuration:", error);
|
|
console.log("Failed to update EAB configuration:", error);
|
|
parent.msgbox("Failed to update EAB configuration");
|
|
parent.msgbox("Failed to update EAB configuration");
|
|
|
|
+ if (callback != undefined){
|
|
|
|
+ callback(false);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -532,19 +567,21 @@
|
|
let value = $(this).find("input").val().trim();
|
|
let value = $(this).find("input").val().trim();
|
|
dnsCredentials[thisKey] = value;
|
|
dnsCredentials[thisKey] = value;
|
|
}
|
|
}
|
|
-
|
|
|
|
});
|
|
});
|
|
|
|
|
|
return dnsCredentials;
|
|
return dnsCredentials;
|
|
}
|
|
}
|
|
|
|
|
|
// Update DNS values for autorenewal
|
|
// Update DNS values for autorenewal
|
|
- function updateCertificateDNS() {
|
|
|
|
|
|
+ function updateCertificateDNS(callback=undefined) {
|
|
var dns = $("#useDnsChallenge")[0].checked;
|
|
var dns = $("#useDnsChallenge")[0].checked;
|
|
var dnsProvider = "";
|
|
var dnsProvider = "";
|
|
var dnsCredentials = "";
|
|
var dnsCredentials = "";
|
|
|
|
|
|
if (!dns) {
|
|
if (!dns) {
|
|
|
|
+ if (callback != undefined){
|
|
|
|
+ callback(true);
|
|
|
|
+ }
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -557,6 +594,9 @@
|
|
});
|
|
});
|
|
if (allFieldsEmpty){
|
|
if (allFieldsEmpty){
|
|
//Do not update config on server side
|
|
//Do not update config on server side
|
|
|
|
+ if (callback != undefined){
|
|
|
|
+ callback(true);
|
|
|
|
+ }
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -568,11 +608,18 @@
|
|
if(dnsProvider == "") {
|
|
if(dnsProvider == "") {
|
|
parent.msgbox("DNS Provider cannot be empty", false, 5000);
|
|
parent.msgbox("DNS Provider cannot be empty", false, 5000);
|
|
$("#obtainButton").removeClass("loading").removeClass("disabled");
|
|
$("#obtainButton").removeClass("loading").removeClass("disabled");
|
|
|
|
+ if (callback != undefined){
|
|
|
|
+ callback(false);
|
|
|
|
+ }
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
var filename = getFilename();
|
|
var filename = getFilename();
|
|
if (filename == '') {
|
|
if (filename == '') {
|
|
|
|
+ parent.msgbox("Domain to renew cannot be empty", false, 5000);
|
|
|
|
+ if (callback != undefined){
|
|
|
|
+ callback(false);
|
|
|
|
+ }
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -590,31 +637,44 @@
|
|
console.log("Error:", response.error);
|
|
console.log("Error:", response.error);
|
|
// Show error message
|
|
// Show error message
|
|
parent.msgbox(response.error, false, 12000);
|
|
parent.msgbox(response.error, false, 12000);
|
|
|
|
+ if (callback != undefined){
|
|
|
|
+ callback(false);
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
console.log("Certificate DNS Credentials updated successfully");
|
|
console.log("Certificate DNS Credentials updated successfully");
|
|
// Show success message
|
|
// Show success message
|
|
parent.msgbox("Certificate DNS Credentials updated successfully");
|
|
parent.msgbox("Certificate DNS Credentials updated successfully");
|
|
|
|
+ if (callback != undefined){
|
|
|
|
+ callback(true);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
},
|
|
},
|
|
error: function(error) {
|
|
error: function(error) {
|
|
//$("#obtainButton").removeClass("loading").removeClass("disabled");
|
|
//$("#obtainButton").removeClass("loading").removeClass("disabled");
|
|
console.log("Failed to update DNS configuration:", error);
|
|
console.log("Failed to update DNS configuration:", error);
|
|
parent.msgbox("Failed to update DNS configuration");
|
|
parent.msgbox("Failed to update DNS configuration");
|
|
|
|
+ if (callback != undefined){
|
|
|
|
+ callback(false);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
// Obtain certificate from API
|
|
// Obtain certificate from API
|
|
- function obtainCertificate() {
|
|
|
|
|
|
+ function obtainCertificate(callback=undefined) {
|
|
var domains = $("#domainsInput").val();
|
|
var domains = $("#domainsInput").val();
|
|
var filename = getFilename();
|
|
var filename = getFilename();
|
|
if (filename == '') {
|
|
if (filename == '') {
|
|
|
|
+ if (callback != undefined){
|
|
|
|
+ parent.msgbox("Domain to obtain certificate cannot be empty", false)
|
|
|
|
+ callback(false);
|
|
|
|
+ }
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
var email = $("#caRegisterEmail").val();
|
|
var email = $("#caRegisterEmail").val();
|
|
if (email == ""){
|
|
if (email == ""){
|
|
parent.msgbox("ACME renew email is not set", false)
|
|
parent.msgbox("ACME renew email is not set", false)
|
|
- $("#obtainButton").removeClass("loading").removeClass("disabled");
|
|
|
|
|
|
+ if (callback != undefined){callback(false);}
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -648,6 +708,7 @@
|
|
console.log("Error:", response.error);
|
|
console.log("Error:", response.error);
|
|
// Show error message
|
|
// Show error message
|
|
parent.msgbox(response.error, false, 12000);
|
|
parent.msgbox(response.error, false, 12000);
|
|
|
|
+ if (callback != undefined){callback(false);}
|
|
} else {
|
|
} else {
|
|
console.log("Certificate renewed successfully");
|
|
console.log("Certificate renewed successfully");
|
|
// Show success message
|
|
// Show success message
|
|
@@ -655,11 +716,14 @@
|
|
|
|
|
|
// Renew the parent certificate list
|
|
// Renew the parent certificate list
|
|
parent.initManagedDomainCertificateList();
|
|
parent.initManagedDomainCertificateList();
|
|
|
|
+
|
|
|
|
+ if (callback != undefined){callback(true);}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
error: function(error) {
|
|
error: function(error) {
|
|
$("#obtainButton").removeClass("loading").removeClass("disabled");
|
|
$("#obtainButton").removeClass("loading").removeClass("disabled");
|
|
console.log("Failed to renewed certificate:", error);
|
|
console.log("Failed to renewed certificate:", error);
|
|
|
|
+ if (callback != undefined){callback(false);}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|