feat(export): Ersteller im Export-Dialog manuell eingebbar
Der Export-Dialog hat ein neues optionales Feld "Ersteller". Ist es gefuellt, wird dieser Name im Bericht als Ersteller verwendet; bleibt es leer, gilt wie bisher die E-Mail des Lage-Erstellers. - export_incident: optionaler Query-Parameter creator, hat Vorrang vor der E-Mail-Ableitung - exportReport (api.js) haengt creator an die Export-URL - submitExport (app.js) liest das neue Feld aus - Eingabefeld im Export-Modal (dashboard.html) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -330,7 +330,7 @@ const API = {
|
||||
resetTutorialState() {
|
||||
return this._request('DELETE', '/tutorial/state');
|
||||
},
|
||||
exportReport(id, format, scope, sections, includeBranding) {
|
||||
exportReport(id, format, scope, sections, includeBranding, creator) {
|
||||
const token = localStorage.getItem('osint_token');
|
||||
let url = `${this.baseUrl}/incidents/${id}/export?format=${format}`;
|
||||
if (sections && sections.length > 0) {
|
||||
@@ -341,6 +341,9 @@ const API = {
|
||||
if (includeBranding === false) {
|
||||
url += `&branding=off`;
|
||||
}
|
||||
if (creator) {
|
||||
url += `&creator=${encodeURIComponent(creator)}`;
|
||||
}
|
||||
return fetch(url, {
|
||||
headers: { 'Authorization': `Bearer ${token}` },
|
||||
});
|
||||
|
||||
@@ -2639,6 +2639,7 @@ async handleRefresh() {
|
||||
const format = document.querySelector('input[name="export-format"]:checked').value;
|
||||
const brandingEl = document.querySelector('input[name="export-branding"]:checked');
|
||||
const includeBranding = !brandingEl || brandingEl.value === 'on';
|
||||
const ersteller = (document.getElementById('export-ersteller')?.value || '').trim();
|
||||
|
||||
const btn = document.getElementById('export-submit-btn');
|
||||
const origText = btn.textContent;
|
||||
@@ -2646,7 +2647,7 @@ async handleRefresh() {
|
||||
btn.textContent = (typeof T === 'function' ? T('action.creating', 'Wird erstellt...') : 'Wird erstellt...');
|
||||
|
||||
try {
|
||||
const response = await API.exportReport(this.currentIncidentId, format, null, sections, includeBranding);
|
||||
const response = await API.exportReport(this.currentIncidentId, format, null, sections, includeBranding, ersteller);
|
||||
if (!response.ok) {
|
||||
const err = await response.json().catch(() => ({}));
|
||||
throw new Error(err.detail || 'Fehler ' + response.status);
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren