|
|
@@ -43,7 +43,10 @@ module.exports = Mn.View.extend({
|
|
|
dns_provider_credentials: 'textarea[name="meta[dns_provider_credentials]"]',
|
|
|
propagation_seconds: 'input[name="meta[propagation_seconds]"]',
|
|
|
forward_scheme: 'select[name="forward_scheme"]',
|
|
|
- letsencrypt: '.letsencrypt'
|
|
|
+ letsencrypt: '.letsencrypt',
|
|
|
+ root_dir: 'input[name="root_dir"]',
|
|
|
+ index_file: 'input[name="index_file"]',
|
|
|
+ static: 'input[type="checkbox"].static-checkbox',
|
|
|
},
|
|
|
|
|
|
regions: {
|
|
|
@@ -113,7 +116,7 @@ module.exports = Mn.View.extend({
|
|
|
} else {
|
|
|
this.ui.dns_provider.prop('required', false);
|
|
|
this.ui.dns_provider_credentials.prop('required', false);
|
|
|
- this.ui.dns_challenge_content.hide();
|
|
|
+ this.ui.dns_challenge_content.hide();
|
|
|
}
|
|
|
},
|
|
|
|
|
|
@@ -125,17 +128,26 @@ module.exports = Mn.View.extend({
|
|
|
this.ui.credentials_file_content.show();
|
|
|
} else {
|
|
|
this.ui.dns_provider_credentials.prop('required', false);
|
|
|
- this.ui.credentials_file_content.hide();
|
|
|
+ this.ui.credentials_file_content.hide();
|
|
|
}
|
|
|
},
|
|
|
|
|
|
'click @ui.add_location_btn': function (e) {
|
|
|
e.preventDefault();
|
|
|
-
|
|
|
+
|
|
|
const model = new ProxyLocationModel.Model();
|
|
|
this.locationsCollection.add(model);
|
|
|
},
|
|
|
|
|
|
+ 'click @ui.static': function(e){
|
|
|
+ const map = {};
|
|
|
+ let value = e.target.value
|
|
|
+ if(e.target.type == 'checkbox') value = e.target.checked;
|
|
|
+ map[e.target.name] = value;
|
|
|
+ this.model.set(map);
|
|
|
+ setTimeout(this.render.bind(this), 300)
|
|
|
+ },
|
|
|
+
|
|
|
'click @ui.save': function (e) {
|
|
|
e.preventDefault();
|
|
|
this.ui.le_error_info.hide();
|
|
|
@@ -167,17 +179,18 @@ module.exports = Mn.View.extend({
|
|
|
data.hsts_enabled = !!data.hsts_enabled;
|
|
|
data.hsts_subdomains = !!data.hsts_subdomains;
|
|
|
data.ssl_forced = !!data.ssl_forced;
|
|
|
-
|
|
|
+ data.static = !!data.static;
|
|
|
+
|
|
|
if (typeof data.meta === 'undefined') data.meta = {};
|
|
|
data.meta.letsencrypt_agree = data.meta.letsencrypt_agree == 1;
|
|
|
data.meta.dns_challenge = data.meta.dns_challenge == 1;
|
|
|
-
|
|
|
+
|
|
|
if(!data.meta.dns_challenge){
|
|
|
data.meta.dns_provider = undefined;
|
|
|
data.meta.dns_provider_credentials = undefined;
|
|
|
data.meta.propagation_seconds = undefined;
|
|
|
} else {
|
|
|
- if(data.meta.propagation_seconds === '') data.meta.propagation_seconds = undefined;
|
|
|
+ if(data.meta.propagation_seconds === '') data.meta.propagation_seconds = undefined;
|
|
|
}
|
|
|
|
|
|
if (typeof data.domain_names === 'string' && data.domain_names) {
|
|
|
@@ -185,7 +198,7 @@ module.exports = Mn.View.extend({
|
|
|
}
|
|
|
|
|
|
// Check for any domain names containing wildcards, which are not allowed with letsencrypt
|
|
|
- if (data.certificate_id === 'new') {
|
|
|
+ if (data.certificate_id === 'new') {
|
|
|
let domain_err = false;
|
|
|
if (!data.meta.dns_challenge) {
|
|
|
data.domain_names.map(function (name) {
|