Module:Sanctions/AlertHelper: Difference between revisions
Appearance
Content deleted Content added
nice error message |
try this method |
||
Line 25: | Line 25: | ||
end |
end |
||
local dsTopics = { |
|||
"9/11", "a-a", "a-i", "ab", "acu", "aerc", "ap", "at", "mos", "b", "blp", |
|||
"cam", "cc", "cid", "e-e", "ecig", "fg", "gc", "gg", "ggtf", "gap", "gmo", |
|||
"ipa", "lr", "lw", "med", "muh-im", "old", "pa", "pr", "ps", "r-i", "saq", |
|||
"sen", "sci", "tm", "tpm", "tt", "we" |
|||
} |
|||
local gsTopics = { |
local gsTopics = { |
||
"cry", "mj", "pw", "sasg", "syr", "uku" |
|||
} |
} |
||
if tableContains(topic, |
if tableContains(topic, gsTopics) then |
||
return frame:expandTemplate { |
return frame:expandTemplate { |
||
title = ' |
title = 'Gs/alert/sandbox', |
||
args = { topic } |
args = { topic } |
||
} |
} |
||
⚫ | |||
elseif tableContains(topic, gsTopics) then |
|||
-- return to ds template, let it error if not recognised |
|||
return frame:expandTemplate { |
return frame:expandTemplate { |
||
title = ' |
title = 'Ds/alert/sandbox', |
||
args = { topic } |
args = { topic } |
||
} |
} |
||
⚫ | |||
-- error |
|||
return frame:preprocess(syntaxHelp()) |
|||
end |
end |
||
end |
end |
Revision as of 03:42, 21 December 2021
local p = {}
local getArgs = require('Module:Arguments').getArgs
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;">
{{Ds/topics/table}}
{{Gs/topics/table}}
</div>]]
end
function p.build(frame, args)
topic = args[1] or args['topic']
if not topic then
return frame:preprocess(syntaxHelp())
end
local gsTopics = {
"cry", "mj", "pw", "sasg", "syr", "uku"
}
if tableContains(topic, gsTopics) then
return frame:expandTemplate {
title = 'Gs/alert/sandbox',
args = { topic }
}
else
-- return to ds template, let it error if not recognised
return frame:expandTemplate {
title = 'Ds/alert/sandbox',
args = { topic }
}
end
end
function p.main(frame)
local args = getArgs(frame, {
wrappers = {
'Template:Alert',
'Template:Alert/sandbox'
}
})
return p.build(frame, args)
end
return p