Module:Sanctions/AlertHelper
Appearance
local p = {}
local getArgs = require('Module:Arguments').getArgs
local checkIfValidTopic = require('Module:Sanctions').checkIfValidTopic
local function tableContains(needle, haystack)
for _, v in pairs(haystack) do
if v == needle then
return true
end
end
return false
end
local function syntaxHelp()
return [[<span class="error">{{para|topic}} not specified. Available options:</span><div style="border-left: 5px dashed black; border-right: 5px dashed black; border-bottom: 5px dashed black; padding-left: 0.5em; padding-right: 0.5em; padding-bottom: 0.5em;">
{{Contentious topics/table}}
{{Gs/topics/table|subst=y}}
</div>]]
end
function p.build(frame, args)
local topic = args[1] or args['topic']
local args = { topic, args[2], sig = args['sig'] }
if not topic then
return frame:preprocess(syntaxHelp())
end
if checkIfValidTopic(topic) then
return frame:expandTemplate {
title = 'Gs/alert',
args = args
}
else
-- return to ds template, let it error if not recognised
return frame:expandTemplate {
title = 'Contentious topics/alert',
args = args
}
end
end
function p.main(frame)
local args = getArgs(frame, {
wrappers = {
'Template:Alert',
'Template:Alert/sandbox'
}
})
return p.build(frame, args)
end
return p