Files
email_alerts_v2/templates/config.html
T

103 lines
3.3 KiB
HTML
Raw Normal View History

2025-08-11 14:46:35 +01:00
{% extends "base.html" %}
{% block content %}
<div class="row mb-2">
<div class="col">
<h2>Configuration</h2>
{% if saved %}
<p class="badge success">Saved</p>
{% endif %}
<p class="muted">Edit core settings for triage, time frames, and processing.</p>
</div>
</div>
<form class="card" method="post" action="/config">
<h3>General</h3>
<div class="row">
<div class="col">
<label>Email Address<br>
<input type="email" name="email_address" value="{{ cfg.email_address }}" />
</label>
</div>
<div class="col">
<label>Days Back to Fetch<br>
<input type="number" name="email_days_back" min="1" max="60" value="{{ cfg.email_days_back }}" />
</label>
</div>
</div>
<div class="row mt-1">
<div class="col">
<label>Agency Domains (comma or newline separated)<br>
<textarea name="agency_domains" rows="3">{{ cfg.agency_domains | join(', ') }}</textarea>
</label>
</div>
</div>
<h3 class="mt-2">Zoho (optional)</h3>
<div class="row">
<div class="col">
<label>Zoho Email<br>
<input type="text" name="zoho_email" value="{{ cfg.zoho_email }}" />
</label>
</div>
<div class="col">
<label>Zoho App Password<br>
<input type="password" name="zoho_app_password" value="{{ cfg.zoho_app_password }}" />
</label>
</div>
</div>
<h3 class="mt-2">Slack</h3>
<div class="row">
<div class="col">
<label>Webhook URL<br>
<input type="url" name="slack_webhook_url" placeholder="https://hooks.slack.com/services/..." value="{{ cfg.slack_webhook_url or '' }}" />
</label>
<p class="muted" style="font-size: 0.9em; margin-top: 0.25em;">
Create a webhook at <a href="https://api.slack.com/apps" target="_blank">api.slack.com/apps</a>
</p>
</div>
</div>
2025-08-11 14:46:35 +01:00
<h3 class="mt-2">Processing</h3>
<div class="row">
<div class="col">
<label><input type="checkbox" name="auto_process" {% if cfg.auto_process %}checked{% endif %}/> Auto Process</label>
</div>
<div class="col">
<label>Process Interval (minutes)<br>
<input type="number" name="auto_process_interval" min="1" max="360" value="{{ cfg.auto_process_interval }}" />
</label>
</div>
</div>
<h3 class="mt-2">Alert Time Frames</h3>
<div class="table-wrap">
<table>
<thead>
<tr>
<th>Name</th>
<th>Hours</th>
<th>Alert Level</th>
</tr>
</thead>
<tbody>
{% set frames = cfg.time_frames %}
{% for i in rows %}
{% set row = frames[i] if frames and i < frames|length else None %}
<tr>
<td><input type="text" name="time_name_{{ i }}" value="{{ row.name if row else '' }}" /></td>
<td><input type="number" name="time_hours_{{ i }}" min="0" max="168" value="{{ row.hours if row else '' }}" /></td>
<td><input type="number" name="time_alert_{{ i }}" min="0" max="10" value="{{ row.alert_level if row else '' }}" /></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="right mt-2">
<button type="submit">Save</button>
</div>
</form>
{% endblock %}