Add selective Teleporter options

Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
DL6ER
2024-04-02 21:43:44 +02:00
parent d4e8626de6
commit 88fb2fc3ca
2 changed files with 25 additions and 1 deletions

View File

@@ -27,7 +27,22 @@ function importZIP() {
return;
}
// Get the selected import options
const imports = {},
gravity = {};
imports.config = document.getElementById("import.config").checked;
imports.dhcp_leases = document.getElementById("import.dhcp_leases").checked;
gravity.group = document.getElementById("import.gravity.group").checked;
gravity.adlist = document.getElementById("import.gravity.adlist").checked;
gravity.adlist_by_group = document.getElementById("import.gravity.adlist").checked;
gravity.domainlist = document.getElementById("import.gravity.domainlist").checked;
gravity.domainlist_by_group = document.getElementById("import.gravity.domainlist").checked;
gravity.client = document.getElementById("import.gravity.client").checked;
gravity.client_by_group = document.getElementById("import.gravity.client").checked;
imports.gravity = gravity;
const formData = new FormData();
formData.append("import", JSON.stringify(imports));
formData.append("file", file);
// eslint-disable-next-line compat/compat
fetch("/api/teleporter", {

View File

@@ -33,7 +33,7 @@ mg.include('scripts/pi-hole/lua/settings_header.lp','r')
<div class="col-md-6">
<div class="box box-warning">
<div class="box-header with-border">
<h3 class="box-title">Import previously imported configuration</h3>
<h3 class="box-title">Import previously exported configuration</h3>
</div>
<div class="box-body">
<div class="form-group">
@@ -41,6 +41,15 @@ mg.include('scripts/pi-hole/lua/settings_header.lp','r')
<input type="file" name="file" id="file" accept="application/gzip,application/zip">
<p class="help-block">When importing settings from a <em>newer</em> version of Pi-hole, not yet existing settings will be ignored. When importing from an <em>older</em> version of Pi-hole, settings for newer features will be initialized with their default values.</p>
</div>
<div class="form-group">
<label for="import-selection">Select what to import</label>
<div><input type="checkbox" id="import.config" data-key="config" class="import-select" checked="true">&nbsp;<label for="import.config"><strong>Configuration</strong></label></div>
<div><input type="checkbox" id="import.dhcp_leases" data-key="dhcp_leases" class="import-select" checked="true">&nbsp;<label for="import.dhcp_leases"><strong>DHCP leases</strong></label></div>
<div><input type="checkbox" id="import.gravity.group" data-key="config" class="import-select" checked="true">&nbsp;<label for="import.gravity.group"><strong>Groups</strong></label></div>
<div><input type="checkbox" id="import.gravity.adlist" data-key="config" class="import-select" checked="true">&nbsp;<label for="import.gravity.adlist"><strong>Lists</strong></label></div>
<div><input type="checkbox" id="import.gravity.domainlist" data-key="config" class="import-select" checked="true">&nbsp;<label for="import.gravity.domainlist"><strong>Domains/Regexes</strong></label></div>
<div><input type="checkbox" id="import.gravity.client" data-key="config" class="import-select" checked="true">&nbsp;<label for="import.gravity.client"><strong>Clients</strong></label></div>
</div>
<div class="pull-right">
<a class="btn btn-app btn-success" id="submit-import">
<i class="fa fa-upload"></i><br>Import