fix: importance level for bugs report

This commit is contained in:
Linventif 2024-08-14 19:38:13 +00:00
parent 71686e28b6
commit 2e0e52eb37

View File

@ -12,7 +12,13 @@ local Fields = {
{ {
["title"] = language.GetPhrase("gmod_integration.report_bug.importance_level", "Importance Level"), ["title"] = language.GetPhrase("gmod_integration.report_bug.importance_level", "Importance Level"),
["type"] = "dropdown", ["type"] = "dropdown",
["options"] = {language.GetPhrase("gmod_integration.report_bug.importance_level.critical", "Critical - Crash or made the game unplayable."), language.GetPhrase("gmod_integration.report_bug.importance_level.high", "High - Critical functionality is unusable."), language.GetPhrase("gmod_integration.report_bug.importance_level.medium", "Medium - Important functionality is unusable."), language.GetPhrase("gmod_integration.report_bug.importance_level.low", "Low - Cosmetic issue."), language.GetPhrase("gmod_integration.report_bug.importance_level.trivial", "Trivial - Very minor issue."),}, ["options"] = {
["critical"] = language.GetPhrase("gmod_integration.report_bug.importance_level.critical", "Critical - Crash or made the game unplayable."),
["high"] = language.GetPhrase("gmod_integration.report_bug.importance_level.high", "High - Critical functionality is unusable."),
["medium"] = language.GetPhrase("gmod_integration.report_bug.importance_level.medium", "Medium - Important functionality is unusable."),
["low"] = language.GetPhrase("gmod_integration.report_bug.importance_level.low", "Low - Cosmetic issue."),
["trivial"] = language.GetPhrase("gmod_integration.report_bug.importance_level.trivial", "Trivial - Very minor issue."),
},
}, },
{ {
["title"] = language.GetPhrase("gmod_integration.report_bug.steps_to_reproduce", "Steps to Reproduce"), ["title"] = language.GetPhrase("gmod_integration.report_bug.steps_to_reproduce", "Steps to Reproduce"),
@ -84,8 +90,8 @@ function gmInte.openReportBug()
dropdown:Dock(TOP) dropdown:Dock(TOP)
dropdown:DockMargin(5, 5, 5, 5) dropdown:DockMargin(5, 5, 5, 5)
dropdown:SetValue(language.GetPhrase("gmod_integration.report_bug.importance_level.dsc", "How important is this bug?")) dropdown:SetValue(language.GetPhrase("gmod_integration.report_bug.importance_level.dsc", "How important is this bug?"))
for i = 1, #field.options do for key, value in pairs(field.options) do
dropdown:AddChoice(field.options[i]) dropdown:AddChoice(value, key)
end end
dropdown:SetSortItems(false) dropdown:SetSortItems(false)
@ -106,11 +112,15 @@ function gmInte.openReportBug()
gmInte.applyPaint(button) gmInte.applyPaint(button)
buttonGrid:AddItem(button) buttonGrid:AddItem(button)
button.DoClick = function() button.DoClick = function()
for _, element in ipairs(elements) do local readyForSend = true
if element:GetText() == "" then if !elements[1]:GetText() || elements[1]:GetText() == "" then readyForSend = false end
notification.AddLegacy(language.GetPhrase("gmod_integration.report_bug.error.missing_fields", "All fields are required"), NOTIFY_ERROR, 5) if !elements[2]:GetSelected() then readyForSend = false end
return if !elements[3]:GetText() || elements[3]:GetText() == "" then readyForSend = false end
end if !elements[4]:GetText() || elements[4]:GetText() == "" then readyForSend = false end
if !elements[5]:GetText() || elements[5]:GetText() == "" then readyForSend = false end
if !readyForSend then
notification.AddLegacy(language.GetPhrase("gmod_integration.report_bug.error.missing_fields", "All fields are required"), NOTIFY_ERROR, 5)
return
end end
local screenData = {} local screenData = {}
@ -124,11 +134,12 @@ function gmInte.openReportBug()
} }
end end
local _, importanceValue = elements[2]:GetSelected()
gmInte.http.post("/clients/:steamID64/servers/:serverID/bugs", { gmInte.http.post("/clients/:steamID64/servers/:serverID/bugs", {
["player"] = gmInte.getPlayerFormat(LocalPlayer()), ["player"] = gmInte.getPlayerFormat(LocalPlayer()),
["screenshot"] = screenData, ["screenshot"] = screenData,
["description"] = elements[1]:GetText(), ["description"] = elements[1]:GetText(),
["importance"] = elements[2]:GetValue(), ["importance"] = importanceValue,
["steps"] = elements[3]:GetText(), ["steps"] = elements[3]:GetText(),
["expected"] = elements[4]:GetText(), ["expected"] = elements[4]:GetText(),
["actual"] = elements[5]:GetText(), ["actual"] = elements[5]:GetText(),