local p = {}
local dev = require("Modul:Development")
local htm = require("Modul:HTML")
local wartungsmeldungen = {
{["Wartungsmeldung"] = "Adresse fehlerhaft"},
{["Wartungsmeldung"] = "Bild-Beschreibung fehlt"},
{["Wartungsmeldung"] = "Bilder-Galerie leer"},
{["Wartungsmeldung"] = "Bilder-Galerie übervoll"},
{["Wartungsmeldung"] = "Datei-Freiattribut-Fehler"},
{["Wartungsmeldung"] = "Datei-Freiattribut-Fehler Straßen-Angabe"},
{["Wartungsmeldung"] = "Datei-Freiattribut-Fehler Orts-Angabe"},
{["Wartungsmeldung"] = "Faktenbox ohne Formular-Daten"},
{["Wartungsmeldung"] = "Faktenbox-Bild fehlt"},
{["Wartungsmeldung"] = "Faktenbox-Bild existiert nicht", ["Info"] = "Es wurde im Formular ein Bild eingetragen, das nicht (mehr) existiert"},
{["Wartungsmeldung"] = "Faktenbox fehlt"},
{["Wartungsmeldung"] = "Seitenname (Lemma) hat Semikolon"},
{["Wartungsmeldung"] = "Seitenname (Lemma) hat Schrägstrich"},
{["Wartungsmeldung"] = "Gebäude mit verdächtiger Straße-Hausnummer-Kombination"},
{["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt"},
{["Wartungsmeldung"] = "Gewässer ohne Stadtteil"},
{["Wartungsmeldung"] = "Geo-Kodierungsfehler - Objekt-Lokation bei ehemaligen Objekt funktioniert nicht"},
{["Wartungsmeldung"] = "Geo-Kodierungsfehler - Objekt-Lokation nicht gefunden"},
{["Wartungsmeldung"] = "Geo-Kodierungsfehler, aber Geokoordinate in SMW-DB noch vorhanden"},
{["Wartungsmeldung"] = "Geo-Kodierungsfehler und Geo-Koordinate nicht in SMW-DB vorhanden"},
{["Wartungsmeldung"] = "Geo-Fehler - fehlerhafte Koordinate"},
{["Wartungsmeldung"] = "Geo-Kodierungsfehler - Positionsangabe fehlt"},
{["Wartungsmeldung"] = "Geo-Kodierungsfehler - fehlende Geo-Koordinate trotz Objekt-Lokation"},
{["Wartungsmeldung"] = "Beruf-Seite fehlt"},
{["Wartungsmeldung"] = "Straßen ohne Stadtteil"},
{["Wartungsmeldung"] = "Faktenbox veraltet"},
}
function p.Wartungstabelle(frame)
-- Kommandozeile zum Debuggen:
-- =p.Wartungstabelle{pargs={}}
local frame = dev.GetFrameAndParentArgs(frame)
local t = ""
-- wartungsmeldungen Tabelle sortieren
table.sort(wartungsmeldungen,
function(z1, z2)
z1, z2 = z1["Wartungsmeldung"], z2["Wartungsmeldung"]
return z1 ~= nil and z2 ~= nil and string.byte(z1) < string.byte(z2)
end)
-- Tabelle zusammensetzen
t = t .. htm.tableHeader{"Wartungsmeldung", "Anzahl"}
-- Tabellen-Zeilen
for _, z in ipairs(wartungsmeldungen) do
local wartungsmeldung = z["Wartungsmeldung"]
-- Anzahl ermitteln
local anzahl =
mw.smw.ask("[[:+]][[Wartungsmeldung::" .. wartungsmeldung .. "]]" ..
"|format=count")
if anzahl == 0 then
anzahl = ""
end
-- queryformlink zusammenbauen
wartungsmeldung = "{{#queryformlink:" ..
"form=Abfrage Wartungsmeldungen" ..
"|link text=" .. wartungsmeldung ..
"|query string=" ..
"Abfrage Wartungsmeldungen[Wartungsmeldung]=" ..
wartungsmeldung ..
"&_run}}"
-- Zeile zusammenbauen
t = t .. htm.tableLine{wartungsmeldung, anzahl}
end
-- Tabellen-Fuß
t = t .. htm.tableFooter()
mw.logObject(t)
t = frame:preprocess(t)
return t
end
return p