|
Tags: Manual revert Reverted |
| Line 181: |
Line 181: |
| ErrorHandling.addStatus(context, 'campaignBanner', 'Empty banner content', 'No content to display') | | ErrorHandling.addStatus(context, 'campaignBanner', 'Empty banner content', 'No content to display') |
| return ErrorHandling.formatCombinedOutput(context) | | return ErrorHandling.formatCombinedOutput(context) |
| end
| |
|
| |
| -- Ensure proper type checking and string conversion for placeholder values
| |
| local campaignTitle = "Campaign" -- Default fallback
| |
|
| |
| -- COMPREHENSIVE DEBUGGING: Show everything about campaign data structure
| |
| if args._campaign_data then
| |
| ErrorHandling.addStatus(context, 'campaignBanner', 'Campaign data exists', 'Type: ' .. type(args._campaign_data))
| |
|
| |
| -- Show all top-level keys in campaign data
| |
| local topKeys = {}
| |
| for k, v in pairs(args._campaign_data) do
| |
| table.insert(topKeys, k .. '(' .. type(v) .. ')')
| |
| end
| |
| ErrorHandling.addStatus(context, 'campaignBanner', 'Campaign data keys', 'Keys: ' .. table.concat(topKeys, ', '))
| |
|
| |
| if args._campaign_data.defaults then
| |
| ErrorHandling.addStatus(context, 'campaignBanner', 'Defaults exists', 'Type: ' .. type(args._campaign_data.defaults))
| |
|
| |
| -- Debug: Show ALL keys and values in defaults
| |
| local defaultKeys = {}
| |
| for k, v in pairs(args._campaign_data.defaults) do
| |
| local valueStr = tostring(v)
| |
| if string.len(valueStr) > 50 then
| |
| valueStr = string.sub(valueStr, 1, 50) .. "..."
| |
| end
| |
| table.insert(defaultKeys, k .. '="' .. valueStr .. '"')
| |
| end
| |
| ErrorHandling.addStatus(context, 'campaignBanner', 'All defaults', 'Keys: ' .. table.concat(defaultKeys, '; '))
| |
|
| |
| if args._campaign_data.defaults.title then
| |
| local rawTitle = args._campaign_data.defaults.title
| |
| ErrorHandling.addStatus(context, 'campaignBanner', 'Title found', 'Raw value: "' .. tostring(rawTitle) .. '", Length: ' .. string.len(tostring(rawTitle)) .. ', Type: ' .. type(rawTitle))
| |
|
| |
| -- Check for user parameter override
| |
| if args.title then
| |
| ErrorHandling.addStatus(context, 'campaignBanner', 'User title parameter found', 'User value: "' .. tostring(args.title) .. '"')
| |
| end
| |
|
| |
| -- Ensure we get the title value properly - ALWAYS use JSON default for banner
| |
| if type(rawTitle) == "string" and rawTitle ~= "" then
| |
| campaignTitle = rawTitle
| |
| ErrorHandling.addStatus(context, 'campaignBanner', 'Using JSON default title', 'Final title: "' .. campaignTitle .. '"')
| |
| else
| |
| ErrorHandling.addStatus(context, 'campaignBanner', 'Title is empty or wrong type', 'Using fallback')
| |
| end
| |
| else
| |
| ErrorHandling.addStatus(context, 'campaignBanner', 'Title not found in defaults', 'Available keys: ' .. table.concat(args._campaign_data.defaults and (function() local keys = {} for k,v in pairs(args._campaign_data.defaults) do table.insert(keys, k) end return keys end)() or {}, ', '))
| |
| end
| |
| else
| |
| ErrorHandling.addStatus(context, 'campaignBanner', 'Defaults not found', 'Available keys: ' .. table.concat((function() local keys = {} for k,v in pairs(args._campaign_data) do table.insert(keys, k) end return keys end)(), ', '))
| |
| end
| |
| else
| |
| ErrorHandling.addStatus(context, 'campaignBanner', 'Campaign data missing', 'args._campaign_data is nil')
| |
| end | | end |
| | | |
| local placeholderValues = { | | local placeholderValues = { |
| CAMPAIGN_NAME = campaignTitle | | CAMPAIGN_NAME = args._campaign_data.defaults.title or "Campaign" |
| } | | } |
|
| |
| -- Add debugging to see what we're actually passing
| |
| ErrorHandling.addStatus(context, 'campaignBanner', 'Placeholder values prepared', 'CAMPAIGN_NAME = "' .. campaignTitle .. '"')
| |
| | | |
| bannerContent = WikitextProcessor.processContentForFrontend(bannerContent, placeholderValues, context) | | bannerContent = WikitextProcessor.processContentForFrontend(bannerContent, placeholderValues, context) |