Module:Redirect hatnote: Difference between revisions

Updated module from sandbox. Removes dependency on Module:Redirect, and introduces more fine-grained categorization for redirect problems.
m (1 revision imported)
(Updated module from sandbox. Removes dependency on Module:Redirect, and introduces more fine-grained categorization for redirect problems.)
Line 68: Line 68:
-- Functionality for adding categories
-- Functionality for adding categories
local categoryTable = {}
local categoryTable = {}
function addCategory(cat)
local function addCategory(cat)
if cat and cat ~= '' then
if cat and cat ~= '' then
-- Add by index to avoid duplicates
-- Add by index to avoid duplicates
Line 76: Line 76:
--Generate tracking categories
--Generate tracking categories
local mhOptions = {}
local mhOptions = {}
local redirTitle
for k,v in pairs(redirect) do
for k,v in pairs(redirect) do
-- We don't need a tracking category if the template invocation has been
-- We don't need a tracking category if the template invocation has been
Line 82: Line 83:
and currentTitle.namespace == 0 or currentTitle.namespace == 14
and currentTitle.namespace == 0 or currentTitle.namespace == 14
then
then
redirectTitle = redirectTitle or getTitle(v)
redirTitle = redirectTitle or getTitle(v)
if not redirectTitle or not redirectTitle.exists then
if not redirTitle or not redirTitle.exists then
addCategory('Missing redirects')
addCategory('Missing redirects')
elseif not redirectTitle.isRedirect then
elseif not redirTitle.isRedirect then
addCategory('Articles with redirect hatnotes needing review')
if string.find(redirTitle:getContent(), '#invoke:RfD') then
addCategory('Articles with redirect hatnotes impacted by RfD')
else
addCategory('Articles with redirect hatnotes needing review')
end
else
else
local mRedirect = require('Module:Redirect')
local target = targetTitle or redirTitle.redirectTarget
local target = mRedirect.getTarget(redirectTitle)
if target and target ~= currentTitle then
targetTitle = targetTitle or target and getTitle(target)
if targetTitle and targetTitle ~= currentTitle then
addCategory('Articles with redirect hatnotes needing review')
addCategory('Articles with redirect hatnotes needing review')
end
end
Line 99: Line 102:
-- Generate the options to pass to [[Module:Hatnote]].
-- Generate the options to pass to [[Module:Hatnote]].
if currentTitle.namespace == 0 and not mhOptions.selfref
if currentTitle.namespace == 0 and not mhOptions.selfref
and redirectTitle and redirectTitle.namespace ~= 0
and redirTitle and redirTitle.namespace ~= 0
then
then
-- We are on a mainspace page, and the hatnote starts with something
-- We are on a mainspace page, and the hatnote starts with something
Anonymous user