20.536
Bearbeitungen
(+ Wartungsmeldung Schließungsdatum eingetragen, aber ohne Ehemals-Häkchen) |
(+ Transclude-Schutz, + addWartungsmeldung_()) |
||
| Zeile 13: | Zeile 13: | ||
-- =p.postprocess_{frame=mw.getCurrentFrame();attr={list={}};formular="Gebäude/Work",klasse={"Gebäude","Kirche"},kategorie={"Gebäude","Kirchen"},strasse_hnr={suspekt=true},positionscheck=true,pargs={Bild="Angie Oeckl.JPG",Ehemals="Ja",DenkmalstatusBesteht="Ja",Stadtteil="Ronhof; Nordstadt ",location="bla"},pagename="Test/Test;Test"} | -- =p.postprocess_{frame=mw.getCurrentFrame();attr={list={}};formular="Gebäude/Work",klasse={"Gebäude","Kirche"},kategorie={"Gebäude","Kirchen"},strasse_hnr={suspekt=true},positionscheck=true,pargs={Bild="Angie Oeckl.JPG",Ehemals="Ja",DenkmalstatusBesteht="Ja",Stadtteil="Ronhof; Nordstadt ",location="bla"},pagename="Test/Test;Test"} | ||
local t = "" | local t = "" | ||
-- Klasse | -- Transclude-Schutz (wurde als Unterseite inkludiert) | ||
if not fbdata.transcluded then | |||
-- Klasse | |||
if fbdata.klasse ~= nil then | |||
smw.addAttrToList(fbdata.attr.list, "KlassenName", fbdata.klasse[1]) | |||
end | |||
-- Formular | |||
if fbdata.formular ~= nil then | |||
fbdata.frame:callParserFunction("#default_form", fbdata.formular) | |||
end | |||
-- Kategorien | |||
local ehemals_text = "" | |||
if com.isTrue(fbdata.pargs["Ehemals"]) then | |||
ehemals_text = " (ehemals)" | |||
end | |||
if fbdata.kategorie ~= nil then | |||
for _, k in ipairs(fbdata.kategorie) do | |||
t = t .. "[[Kategorie:" .. k .. ehemals_text .. "]]" | |||
end | |||
end | |||
if com.isTrue(fbdata.pargs["DenkmalstatusBesteht"]) then | |||
t = t .. "[[Kategorie:Denkmalliste]]" | |||
end | |||
local stadtteil = str.splitAndStrip(fbdata.pargs["Stadtteil"], ";") | |||
for _, s in ipairs(stadtteil) do | |||
s = str.strip(tostring(s)) | |||
t = t .. "[[Kategorie:" .. s .. "]]" | |||
end | |||
-- Wartungs-Kategorien/Meldungen | |||
if com.isEmpty(fbdata.pargs) then | |||
p.addWartungsmeldung_(fbdata, "Faktenbox ohne Formular-Daten") | |||
end | |||
if fbdata.pargs["Bild"] == nil then | |||
p.addWartungsmeldung_(fbdata, "Faktenbox-Bild fehlt") | |||
elseif not wik.pageExists("Bild:" .. fbdata.pargs["Bild"]) then | |||
p.addWartungsmeldung_(fbdata, "Faktenbox-Bild existiert nicht") | |||
end | |||
if string.find(fbdata.pagename, ";") ~= nil then | |||
p.addWartungsmeldung_(fbdata, "Seitenname (Lemma) hat Semikolon") | |||
end | |||
if string.find(fbdata.pagename, "/") ~= nil then | |||
p.addWartungsmeldung_(fbdata, "Seitenname (Lemma) hat Schrägstrich") | |||
end | |||
if fbdata.strasse_hnr ~= nil then | |||
if fbdata.strasse_hnr.suspekt then | |||
p.addWartungsmeldung_(fbdata, "Gebäude mit verdächtiger Straße-Hausnummer-Kombination") | |||
end | |||
end | |||
if fbdata.positionscheck and fbdata.kategorie ~= nil and fbdata.geoobjects == nil then | |||
p.addWartungsmeldung_(fbdata, "Faktenbox-Karte (Position) fehlt") | |||
end | end | ||
if not com.isEmpty(fbdata.pargs["Schließungsdatum"]) and not com.isTrue(fbdata.pargs["Ehemals"]) then | |||
p.addWartungsmeldung_(fbdata, "Schließungsdatum eingetragen, aber ohne Ehemals-Häkchen") | |||
end | end | ||
-- Attribute setzen | |||
-- mw.logObject(fbdata.attr, "fbdata.attr") | |||
if not fbdata.attr.noattr then | |||
-- mw.logObject(fbdata.attr, "fbdata.attr") | |||
mw.smw.set(fbdata.attr.list) | mw.smw.set(fbdata.attr.list) | ||
end | end | ||
| Zeile 90: | Zeile 89: | ||
fbdata.klasse = {} | fbdata.klasse = {} | ||
fbdata.attr = {list = {}} | fbdata.attr = {list = {}} | ||
-- check, ob es sich um eine transcludierte (inkludierte) Unterseite handelt | |||
local hash = "FürthWiki" | |||
for a, v in pairs (fbdata.pargs) do | |||
hash = hash .. a .. v | |||
end | |||
hash = mw.hash.hashValue("md5", hash) | |||
fbdata.attr.list["Hash"] = hash | |||
local selector = "[[Seite::~" .. fbdata.fullpagename .. "/*]]" .. | |||
"[[Hash::" .. hash .. "]]" | |||
fbdata.transcluded = mw.smw.ask{selector, ["format"] = "count"} > 0 | |||
if fbdata.transcluded then -- in diesem Fall keine Attribute setzen | |||
fbdata.attr.noattr = true | |||
end | |||
-- mw.logObject(fbdata) | -- mw.logObject(fbdata) | ||
return fbdata | return fbdata | ||
end | end | ||
function p. | function p.addWartungsmeldung_(fbdata, wartungsmeldung) | ||
smw.addAttrToList(fbdata.attr.list, "Wartungsmeldung", wartungsmeldung) | |||
end | end | ||
return p | return p | ||