fix: WAHLPROGRAMME['BUND'] mit Grundsatzprogrammen befuellt + Permalink-Copy-Click
User: 'Aber für diesen speziellen Antrag müssten doch alle Programme verfügbar sein. https://gwoe-dev.toppyr.de/antrag/21/1594' Ursache: WAHLPROGRAMME (in app/wahlprogramme.py) hatte keinen 'BUND'- Eintrag, daher hat check_missing_programmes() fuer jeden Bundestags- Antrag ALLE 8 Fraktionen als fehlend markiert. Im Embedding-Index (app/embeddings.py) sind die *-grundsatzprogramm.pdf Dateien aber laengst registriert (typ=parteiprogramm, ohne bundesland-Bindung). Die Lookup-Tabellen waren inkonsistent. Fix: WAHLPROGRAMME['BUND']-Eintrag mit den 6 Grundsatzprogrammen (CDU/SPD/GRUENE/FDP/AfD/LINKE) ergaenzt — entspricht der Realitaet im embeddings.py-Index. CSU + BSW haben keine indizierten Programme und werden weiterhin als fehlend gemeldet (was korrekt ist). Bestehende BUND-Assessments mit fehlende_programme=[8 Parteien] in der DB bleiben erst mal so (waehrend einer Re-Analyse korrekt). Issue #186 (historische BTW-Wahlprogramme) bleibt offen — Grundsatzprogramme sind nur ein Notbehelf gegen die 'alle fehlen'-Anzeige. Plus: Permalink-Klick kopiert jetzt die absolute URL in die Zwischen- ablage statt zur Page zu navigieren. window.v3CopyPermalink in v2/screens/antrag_detail.html (wird via super() von v3 mitvererbt). Link-Text 'Permalink kopieren', 1.6s 'Permalink kopiert ✓'-Flash nach Copy. Fallback auf window.prompt() wenn Clipboard-API fehlt. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
332453b940
commit
c8bce35a16
@ -461,8 +461,10 @@
|
||||
JSON-Export
|
||||
</a>
|
||||
<a href="/antrag/{{ antrag.drucksache }}"
|
||||
onclick="v3CopyPermalink(event, this)"
|
||||
data-copied-label="Permalink kopiert ✓"
|
||||
style="color:var(--ecg-blue);border-bottom:1px solid rgba(0,157,165,0.35);">
|
||||
Permalink
|
||||
Permalink kopieren
|
||||
</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@ -876,6 +878,25 @@ window.v2ShowMatrixFieldInfo = function(field) {
|
||||
return lines.join('\n');
|
||||
}
|
||||
|
||||
/* Permalink-Klick kopiert in die Zwischenablage statt zu navigieren. */
|
||||
window.v3CopyPermalink = function (e, el) {
|
||||
e.preventDefault();
|
||||
var permalink = window.location.origin + el.getAttribute('href');
|
||||
var orig = el.textContent;
|
||||
var done = el.dataset.copiedLabel || 'Kopiert ✓';
|
||||
function flash() {
|
||||
el.textContent = done;
|
||||
setTimeout(function () { el.textContent = orig; }, 1600);
|
||||
}
|
||||
if (navigator.clipboard && navigator.clipboard.writeText) {
|
||||
navigator.clipboard.writeText(permalink).then(flash, function () {
|
||||
window.prompt('Permalink kopieren:', permalink);
|
||||
});
|
||||
} else {
|
||||
window.prompt('Permalink kopieren:', permalink);
|
||||
}
|
||||
};
|
||||
|
||||
window.v2DetailShare = function(platform) {
|
||||
if (platform === 'linkedin') {
|
||||
// LinkedIn hat /sharing/share-offsite/ zurueckgebaut — der prefillt
|
||||
|
||||
@ -408,7 +408,9 @@
|
||||
<a href="{{ antrag.link }}" target="_blank" rel="noopener">Original-Antrag (Landtag)</a>
|
||||
{% endif %}
|
||||
<a href="/api/assessment?drucksache={{ antrag.drucksache | urlencode }}">JSON-Export</a>
|
||||
<a href="/antrag/{{ antrag.drucksache }}">Permalink</a>
|
||||
<a href="/antrag/{{ antrag.drucksache }}"
|
||||
onclick="v3CopyPermalink(event, this)"
|
||||
data-copied-label="Permalink kopiert ✓">Permalink kopieren</a>
|
||||
</div>
|
||||
|
||||
{# News-Box (per JS gefuellt) — eine Nachricht, max 9 Zeilen #}
|
||||
|
||||
@ -247,6 +247,18 @@ WAHLPROGRAMME: dict[str, dict[str, dict]] = {
|
||||
"FREIE WÄHLER": {"file": "fw-rp-2021.pdf", "titel": "FREIE WÄHLER Rheinland-Pfalz Wahlprogramm 2021", "partei": "FREIE WÄHLER Rheinland-Pfalz", "jahr": 2021, "seiten": 80},
|
||||
"FDP": {"file": "fdp-rp-2021.pdf", "titel": "FDP Rheinland-Pfalz Landtagswahlprogramm 2021", "partei": "FDP Rheinland-Pfalz", "jahr": 2021, "seiten": 100},
|
||||
},
|
||||
# Bundestag — keine bundesweiten Wahlprogramme im Repo, daher dienen
|
||||
# die Grundsatzprogramme als Quelle. CSU + BSW haben keine Programme
|
||||
# in der Registry und werden weiterhin als fehlend gemeldet.
|
||||
# Diese Eintraege sind von embeddings.py separat indiziert (typ=parteiprogramm).
|
||||
"BUND": {
|
||||
"CDU": {"file": "cdu-grundsatzprogramm.pdf", "titel": "CDU Grundsatzprogramm 2024", "partei": "CDU", "jahr": 2024, "seiten": 64, "ist_grundsatz": True},
|
||||
"SPD": {"file": "spd-grundsatzprogramm.pdf", "titel": "SPD Hamburger Programm 2007", "partei": "SPD", "jahr": 2007, "seiten": 78, "ist_grundsatz": True},
|
||||
"GRÜNE": {"file": "gruene-grundsatzprogramm.pdf","titel": "Grüne Grundsatzprogramm 2020", "partei": "GRÜNE", "jahr": 2020, "seiten": 116, "ist_grundsatz": True},
|
||||
"FDP": {"file": "fdp-grundsatzprogramm.pdf", "titel": "FDP Karlsruher Freiheitsthesen 2012","partei": "FDP", "jahr": 2012, "seiten": 31, "ist_grundsatz": True},
|
||||
"AfD": {"file": "afd-grundsatzprogramm.pdf", "titel": "AfD Grundsatzprogramm 2016", "partei": "AfD", "jahr": 2016, "seiten": 96, "ist_grundsatz": True},
|
||||
"LINKE": {"file": "linke-grundsatzprogramm.pdf", "titel": "DIE LINKE Erfurter Programm 2011", "partei": "LINKE", "jahr": 2011, "seiten": 84, "ist_grundsatz": True},
|
||||
},
|
||||
}
|
||||
|
||||
# Pro Bundesland: Markdown-Übersichtsdatei mit Wahlprogramm-Zusammenfassungen,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user