Modul:Bildungseinrichtung

local p = {}

local wob = require("Modul:Wörterbuch")
local fab = require("Modul:Faktenbox")
local geb = require("Modul:Gebäude")
local kla = require("Modul:Klasse")
local fom = require("Modul:Formular")

function p.Faktenbox(frame)
--	mw.log("Faktenbox(frame)")
--	mw.logObject(frame, "frame")
	-- Konsolenzeile zum Debuggen:
	-- =p.Faktenbox{pargs={Baujahr="1987",AktenNr="D-5-63-000-1464"}}
	-- Basis-Faktenbox-Daten (Klasse/Kategorie/Formular)
	local fbdata = fab.getFbdata(frame)
	fbdata.klasse = {"Bildungseinrichtung"}
	if fbdata.alias ~= nil then
		fbdata.kategorie = {wob.mehrzahl(fbdata.alias)}
	else
		fbdata.kategorie = {kla.getCategory("Bildungseinrichtung")}
	end
	fbdata.formular = fbdata.alias or "Bildungseinrichtung" -- ggf. "Bildungseinrichtung/Work"
	fbdata.positionscheck = false
	fbdata.zoomdefault = 16
	geb.getLocationlist(fbdata)
	-- Tabs einsammeln und zusammenfügen
	local t = 
		fab.bildTab(fbdata) ..
		fab.kartenTab(fbdata) .. -- Karten-Tab muss vor Tabs mit zeileGeoDaten() sein
		kla.faktenboxDatenTab(fbdata)
	t = fab.factbox_header_footer(t)
	-- Sonstige gemeinsame Dinge anfügen (Klasse, Formular, Kategorien, Wartung, ...)
	t = t .. fab.postprocess(fbdata)
	-- Pre-Processing
--	mw.logObject(t, "t")
	t = fbdata.frame:preprocess(t)
	return t
end

function p.Formular(frame)
	-- Kommandozeile zum Debuggen:
	-- = p.Formular(mw.getCurrentFrame())
	local alias = frame.args["Alias"]
	local template = alias or "Bildungseinrichtung"
	local t = ""
	t = t .. "{{{for template|" .. template .. "|label=" .. template .. "}}}"
	t = t .. kla.attrFormTable(frame, "Bildungseinrichtung")					-- gemäß AttributListe der Klasse
	t = t .. frame:expandTemplate{title = "Formular:PositionKarte"}
	t = t .. "{{{end template}}}"
	t = t .. fom.articleEditAndCommon()
	return t
end

return p