mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-08-08 02:13:34 +00:00
first open-appsec support
This commit is contained in:
@@ -3,12 +3,55 @@
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><%- i18n('settings', 'title') %></h3>
|
||||
</div>
|
||||
<div class="card-body no-padding min-100">
|
||||
<div class="card-body no-padding min-100 has-tabs">
|
||||
|
||||
<div class="px-4">
|
||||
<ul class="nav nav-tabs" role="tablist">
|
||||
<li role="presentation" class="nav-item"><a href="#details" aria-controls="tab1" role="tab" data-toggle="tab" class="nav-link active">Nginx Proxy Manager</a></li>
|
||||
<li role="presentation" class="nav-item"><a href="#open-appsec" aria-controls="tab4" role="tab" data-toggle="tab" class="nav-link">open-appsec Advanced</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="tab-content">
|
||||
|
||||
<!-- npm -->
|
||||
<div role="tabpanel" class="tab-pane active" id="details">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12">
|
||||
<div class="dimmer active">
|
||||
<div class="loader"></div>
|
||||
<div class="dimmer-content list-region">
|
||||
<!-- List Region -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- open-appsec -->
|
||||
<div role="tabpanel" class="tab-pane" id="open-appsec">
|
||||
<div class="p-4">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<form>
|
||||
<div class="form-group">
|
||||
<label class="form-label">open-appsec Configuration File</label>
|
||||
<textarea id="local_policy" name="local_policy" rows="15" class="form-control text-monospace" placeholder="# <%- i18n('settings', 'local-policy-warning') %>"></textarea>
|
||||
</div>
|
||||
<div id="lp_success_info" class="alert alert-success success" role="alert">Local Policy Updated</div>
|
||||
<div id="lp_error_info" class="alert alert-danger" role="alert">error</div>
|
||||
<button type="button" class="btn btn-teal save"><%- i18n('str', 'save-settings') %></button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -5,11 +5,18 @@ const ListView = require('./list/main');
|
||||
const ErrorView = require('../error/main');
|
||||
const template = require('./main.ejs');
|
||||
|
||||
require('jquery-serializejson');
|
||||
|
||||
module.exports = Mn.View.extend({
|
||||
id: 'settings',
|
||||
template: template,
|
||||
|
||||
ui: {
|
||||
local_policy_field: '#open-appsec form #local_policy',
|
||||
lp_success_info: '#open-appsec form #lp_success_info',
|
||||
lp_error_info: '#open-appsec form #lp_error_info',
|
||||
form: '#open-appsec form',
|
||||
save: 'button.save',
|
||||
list_region: '.list-region',
|
||||
add: '.add-item',
|
||||
dimmer: '.dimmer'
|
||||
@@ -19,9 +26,57 @@ module.exports = Mn.View.extend({
|
||||
list_region: '@ui.list_region'
|
||||
},
|
||||
|
||||
events: {
|
||||
'click @ui.save': function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
this.ui.lp_success_info.hide();
|
||||
this.ui.lp_error_info.hide();
|
||||
|
||||
let data = this.ui.form.serializeJSON();
|
||||
console.log(data);
|
||||
App.Api.OpenAppsecSettings.save(data)
|
||||
.then(response => {
|
||||
this.showSuccess();
|
||||
})
|
||||
.catch(err => {
|
||||
console.error(err);
|
||||
this.showError(err);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
showSuccess: function () {
|
||||
this.ui.lp_success_info.show();
|
||||
setTimeout(() => {
|
||||
this.ui.lp_success_info.fadeOut();
|
||||
}, 1000);
|
||||
},
|
||||
|
||||
showError: function (err) {
|
||||
this.ui.lp_error_info.show();
|
||||
this.ui.lp_error_info.html(err.message);
|
||||
setTimeout(() => {
|
||||
this.ui.lp_error_info.fadeOut();
|
||||
}, 3000);
|
||||
},
|
||||
|
||||
onRender: function () {
|
||||
let view = this;
|
||||
|
||||
this.ui.lp_success_info.hide();
|
||||
this.ui.lp_error_info.hide();
|
||||
|
||||
App.Api.OpenAppsecSettings.get()
|
||||
.then(response => {
|
||||
if (!view.isDestroyed() && response) {
|
||||
view.ui.local_policy_field.val(response);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.error(err);
|
||||
});
|
||||
|
||||
App.Api.Settings.getAll()
|
||||
.then(response => {
|
||||
if (!view.isDestroyed() && response && response.length) {
|
||||
|
Reference in New Issue
Block a user