Jump to content

Module:Protection banner: Difference between revisions

add template protection tracking category
(output the categories, and don't display the banner if the page is not protected)
(add template protection tracking category)
Line 164: Line 164:
function ProtectionStatus:getLevel()
function ProtectionStatus:getLevel()
return self._level
return self._level
end
function ProtectionStatus:isProtected()
return self._level ~= '*'
end
end


Line 741: Line 745:
-- Get the level and exit if the page is not protected.
-- Get the level and exit if the page is not protected.
local level = protectionStatusObj:getLevel()
if not protectionStatusObj:isProtected() then
if level == '*' then
return ''
return ''
end
end
Line 768: Line 771:
local reason = protectionStatusObj:getReason()
local reason = protectionStatusObj:getReason()
local action = protectionStatusObj:getAction()
local action = protectionStatusObj:getAction()
local level = protectionStatusObj:getLevel()
   
   
--[[
--[[
Line 886: Line 890:
end
end
if cat then
if cat then
Category.setName(self, cat)
self:setName(cat)
return Category.render(self)
else
error(
'No category match found;'
.. ' please define the category for key "all-all-all-all-all"'
)
end
end
return Category.render(self)
end
end


Line 917: Line 916:
and not reasonsWithoutExpiryCheck[reason]
and not reasonsWithoutExpiryCheck[reason]
then
then
local cat = configObj:getMessage('tracking-category-expiry')
self:setName(configObj:getMessage('tracking-category-expiry'))
Category.setName(self, cat)
return Category.render(self)
end
end
return Category.render(self)
end
end


Line 937: Line 935:
local level = protectionStatusObj:getLevel()
local level = protectionStatusObj:getLevel()


if level == '*' or type(expiry) == 'number' and expiry < os.time() then
if not protectionStatusObj:isProtected()
Category.setName(self, configObj:getMessage('tracking-category-incorrect'))
or type(expiry) == 'number' and expiry < os.time()
return Category.render(self)
then
self:setName(configObj:getMessage('tracking-category-incorrect'))
end
return Category.render(self)
end
 
--------------------------------------------------------------------------------
-- TemplateCategory class
--------------------------------------------------------------------------------
 
local TemplateCategory = Category:subclass('TemplateCategory')
 
function TemplateCategory:initialize(configObj, protectionStatusObj, titleObj)
Category.initialize(self, configObj, protectionStatusObj)
self._titleObj = titleObj
end
 
function TemplateCategory:render()
local configObj = self._configObj
local protectionStatusObj = self._protectionStatusObj
local titleObj = self._titleObj
local action = protectionStatusObj:getAction()
local level = protectionStatusObj:getLevel()
local namespace = titleObj.namespace
if level == 'templateeditor'
and (
action == 'create'
or not (namespace == 10 or namespace == 828)
)
then
self:setName(configObj:getMessage('tracking-category-template'))
end
end
return Category.render(self)
end
end


Line 1,014: Line 1,045:
ProtectionCategory:new(configObj, protectionObj, titleObj),
ProtectionCategory:new(configObj, protectionObj, titleObj),
ExpiryCategory:new(configObj, protectionObj),
ExpiryCategory:new(configObj, protectionObj),
ErrorCategory:new(configObj, protectionObj)
ErrorCategory:new(configObj, protectionObj),
TemplateCategory:new(configObj, protectionObj, titleObj)
}
}
for _, obj in ipairs(objects) do
for _, obj in ipairs(objects) do
Cookies help us deliver our services. By using our services, you agree to our use of cookies.