04/13/2026 Fixed email ingres function
This commit is contained in:
@@ -237,13 +237,103 @@
|
||||
For other providers, ensure IMAP is enabled and check their specific settings.
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-primary mt-3">
|
||||
<i class="bi bi-check2 me-2"></i>Save Email Settings
|
||||
</button>
|
||||
<div class="d-flex align-items-center gap-2 flex-wrap mt-3">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<i class="bi bi-check2 me-2"></i>Save Email Settings
|
||||
</button>
|
||||
<button type="button" class="btn btn-outline-secondary" id="btn-test-ingest"
|
||||
onclick="emailIngestTest()">
|
||||
<i class="bi bi-plug me-2"></i>Test Connection
|
||||
</button>
|
||||
<button type="button" class="btn btn-outline-primary" id="btn-run-ingest"
|
||||
onclick="emailIngestRunNow()">
|
||||
<i class="bi bi-play-circle me-2"></i>Run Now
|
||||
</button>
|
||||
</div>
|
||||
<div id="ingest-result" class="mt-3" style="display:none;"></div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
var csrfToken = document.querySelector('meta[name="csrf-token"]').content;
|
||||
|
||||
function setResult(ok, message) {
|
||||
var el = document.getElementById('ingest-result');
|
||||
el.style.display = '';
|
||||
el.className = ok
|
||||
? 'alert alert-success py-2 px-3'
|
||||
: 'alert alert-danger py-2 px-3';
|
||||
el.style.fontSize = '13px';
|
||||
el.innerHTML = '<i class="bi bi-' + (ok ? 'check-circle' : 'x-circle') + ' me-2"></i>' +
|
||||
message.replace(/</g, '<').replace(/>/g, '>');
|
||||
}
|
||||
|
||||
function collectFields() {
|
||||
return {
|
||||
host : document.querySelector('[name="email_ingestion_host"]').value.trim(),
|
||||
port : document.querySelector('[name="email_ingestion_port"]').value.trim(),
|
||||
user : document.querySelector('[name="email_ingestion_user"]').value.trim(),
|
||||
password: document.querySelector('[name="email_ingestion_password"]').value.trim(),
|
||||
folder : document.querySelector('[name="email_ingestion_folder"]').value.trim(),
|
||||
};
|
||||
}
|
||||
|
||||
window.emailIngestTest = function () {
|
||||
var btn = document.getElementById('btn-test-ingest');
|
||||
btn.disabled = true;
|
||||
btn.innerHTML = '<span class="spinner-border spinner-border-sm me-2"></span>Testing…';
|
||||
|
||||
var fields = collectFields();
|
||||
var body = new URLSearchParams(fields);
|
||||
body.append('csrf_token', csrfToken);
|
||||
|
||||
fetch('{{ url_for("admin.email_ingestion_test") }}', {
|
||||
method : 'POST',
|
||||
headers: { 'X-CSRFToken': csrfToken, 'Content-Type': 'application/x-www-form-urlencoded' },
|
||||
body : body.toString(),
|
||||
})
|
||||
.then(function (r) { return r.json(); })
|
||||
.then(function (data) {
|
||||
setResult(data.ok, data.message);
|
||||
})
|
||||
.catch(function (err) {
|
||||
setResult(false, 'Request failed: ' + err);
|
||||
})
|
||||
.finally(function () {
|
||||
btn.disabled = false;
|
||||
btn.innerHTML = '<i class="bi bi-plug me-2"></i>Test Connection';
|
||||
});
|
||||
};
|
||||
|
||||
window.emailIngestRunNow = function () {
|
||||
var btn = document.getElementById('btn-run-ingest');
|
||||
btn.disabled = true;
|
||||
btn.innerHTML = '<span class="spinner-border spinner-border-sm me-2"></span>Running…';
|
||||
|
||||
var body = new URLSearchParams({ csrf_token: csrfToken });
|
||||
|
||||
fetch('{{ url_for("admin.email_ingestion_run_now") }}', {
|
||||
method : 'POST',
|
||||
headers: { 'X-CSRFToken': csrfToken, 'Content-Type': 'application/x-www-form-urlencoded' },
|
||||
body : body.toString(),
|
||||
})
|
||||
.then(function (r) { return r.json(); })
|
||||
.then(function (data) {
|
||||
setResult(data.ok, data.message);
|
||||
})
|
||||
.catch(function (err) {
|
||||
setResult(false, 'Request failed: ' + err);
|
||||
})
|
||||
.finally(function () {
|
||||
btn.disabled = false;
|
||||
btn.innerHTML = '<i class="bi bi-play-circle me-2"></i>Run Now';
|
||||
});
|
||||
};
|
||||
})();
|
||||
</script>
|
||||
|
||||
<!-- Satisfaction Survey -->
|
||||
<div class="card mb-4" style="max-width:680px;">
|
||||
<div class="card-header" style="padding:16px 20px;border-bottom:1px solid var(--border);">
|
||||
|
||||
Reference in New Issue
Block a user