Modul:Ereignis/Opfer der Shoah: Unterschied zwischen den Versionen

Aus FürthWiki
(+ Geburtstag, Geburtsjahr, Todestag, Todesjahr)
(- Seite)
Zeile 20: Zeile 20:


attr["SubObjektTyp"] = "Opfer der Shoah"
attr["SubObjektTyp"] = "Opfer der Shoah"
attr["Seite"] = wik.pagename()
attr["AbweichendeNamensform"] = attr["Geburtsname"]
attr["AbweichendeNamensform"] = attr["Geburtsname"]
attr["Geburtsname"] = nil
attr["Geburtsname"] = nil

Version vom 24. Februar 2026, 22:23 Uhr

local p = {}

local com = require("Modul:Common")
local dev = require("Modul:Development")
local str = require("Modul:String")
local wik = require("Modul:Wiki")
local smw = require("Modul:SMW")
local lfd = require("Modul:LinkFormDatum")

function p.OpferDerShoah(frame)
--	mw.logObject(frame, "OpferDerShoah(frame)")
	local t = ""
	local frame, pargs = dev.GetFrameAndParentArgs(frame)
	local attr, attr_empty = wik.getArgs(pargs, {
		"Nachname", "Vorname", "Geburtsname", "Geburtsdatum", "Geburtsort",
		"Todesdatum", "Todesort", "Deportationsdatum", "Deportationsort", "Todesursache",
		"Letzter bekannter Wohnort in Fürth", "Quellangaben"})

	if not attr_empty then															-- Überhaupt Parameter übergeben?

		attr["SubObjektTyp"] = "Opfer der Shoah"
		attr["AbweichendeNamensform"] = attr["Geburtsname"]
		attr["Geburtsname"] = nil
		attr["Gebäude"] = attr["Letzter bekannter Wohnort in Fürth"]
		attr["Letzter bekannter Wohnort in Fürth"] = nil

		-- Gebäude-Attribut suchen
		if attr["Gebäude"] ~= nil and not wik.pageExists(attr["Gebäude"]) then
			-- Seite mit passender StraßeHnr suchen
			local query = mw.smw.ask("[[:+]][[Kategorie:Gebäude]]" ..
				"[[StraßeHnr::" .. attr["Gebäude"] .. "]]|?#-|limit=1")
			if query ~= nil then
				attr["Gebäude"] = query[1][1]
			end
		end

		-- Name setzen
		local vorname = attr["Vorname"]
		local nachname = attr["Nachname"]
		local name = com.tableConcatNil({vorname, nachname})
		if vorname ~= nil then
			if wik.pageExists(name) then
				attr["VornameLink"] = "[[" .. name .. "|" .. vorname .. "]]"
			else
				attr["VornameLink"] = vorname
			end
		end
		if nachname ~= nil then
			if wik.pageExists(name) then
				attr["NachnameLink"] = "[[" .. name .. "|" .. nachname .. "]]"
			else
				attr["NachnameLink"] = nachname
			end
		end
		if vorname ~= nil or nachname ~= nil then
			attr["NameLink"] = "[[" .. wik.toppagename() .. "|" .. name .. "]]"
		end

		-- GeburtsdatumLfd, TodesdatumLfd, DeportationsdatumLfd setzen
		lfd.linkFormDateAttrList{attr_list = attr, date = attr["Geburtsdatum"], attr_date = "Geburtsdatum", attr_day = "Geburtstag", attr_year = "Geburtsjahr"}
		lfd.linkFormDateAttrList{attr_list = attr, date = attr["Deportationsdatum"], attr_date = "Deportationsdatum"}
		lfd.linkFormDateAttrList{attr_list = attr, date = attr["Todesdatum"], attr_date = "Todesdatum", attr_day = "Todestag", attr_year = "Todesjahr"}

		-- subobject setzen
--		mw.logObject(attr, "attr")
		mw.smw.subobject(attr)

	end																			-- Ende if attr_empty

--	mw.logObject(t, "t")
	return t
end

return p