Filling in menu lists on the bug report form no longer depends on the exact item format used by Gitea.

This commit is contained in:
Jamie Greunbaum 2024-05-31 03:14:32 -04:00
parent 12a294cdd5
commit bf7389466a
2 changed files with 29 additions and 12 deletions

View File

@ -93,27 +93,44 @@ func __prepare_form_thread(callback:Callable) -> void:
var os_prefix : String = ProjectSettings.get_setting("bugbot/reporting/gitea/status_labels/os_label_prefix", DEFAULT_OS_LABEL_PREFIX) var os_prefix : String = ProjectSettings.get_setting("bugbot/reporting/gitea/status_labels/os_label_prefix", DEFAULT_OS_LABEL_PREFIX)
var component_prefix : String = ProjectSettings.get_setting("bugbot/reporting/gitea/status_labels/component_label_prefix", DEFAULT_COMPONENT_LABEL_PREFIX) var component_prefix : String = ProjectSettings.get_setting("bugbot/reporting/gitea/status_labels/component_label_prefix", DEFAULT_COMPONENT_LABEL_PREFIX)
var priority_prefix : String = ProjectSettings.get_setting("bugbot/reporting/gitea/status_labels/priority_label_prefix", DEFAULT_PRIORITY_LABEL_PREFIX) var priority_prefix : String = ProjectSettings.get_setting("bugbot/reporting/gitea/status_labels/priority_label_prefix", DEFAULT_PRIORITY_LABEL_PREFIX)
var version_tag_list : Array = []
var hardware_tag_list : Array = []
var os_tag_list : Array = []
var component_tag_list : Array = []
var priority_tag_list : Array = []
for label_in:Dictionary in response_data: for label_in:Dictionary in response_data:
if version_prefix and label_in["name"].begins_with(version_prefix): if version_prefix and label_in["name"].begins_with(version_prefix):
label_in["name"] = (label_in["name"] as String).replace(version_prefix, "") label_in["name"] = (label_in["name"] as String).replace(version_prefix, "")
tag_lists[BugbotTagArray.VERSION].append(label_in) version_tag_list.append(label_in)
if hardware_prefix and label_in["name"].begins_with(hardware_prefix): if hardware_prefix and label_in["name"].begins_with(hardware_prefix):
label_in["name"] = (label_in["name"] as String).replace(hardware_prefix, "") label_in["name"] = (label_in["name"] as String).replace(hardware_prefix, "")
tag_lists[BugbotTagArray.HARDWARE].append(label_in) hardware_tag_list.append(label_in)
if os_prefix and label_in["name"].begins_with(os_prefix): if os_prefix and label_in["name"].begins_with(os_prefix):
label_in["name"] = (label_in["name"] as String).replace(os_prefix, "") label_in["name"] = (label_in["name"] as String).replace(os_prefix, "")
tag_lists[BugbotTagArray.OS].append(label_in) os_tag_list.append(label_in)
if component_prefix and label_in["name"].begins_with(component_prefix): if component_prefix and label_in["name"].begins_with(component_prefix):
label_in["name"] = (label_in["name"] as String).replace(component_prefix, "") label_in["name"] = (label_in["name"] as String).replace(component_prefix, "")
tag_lists[BugbotTagArray.COMPONENT].append(label_in) component_tag_list.append(label_in)
if priority_prefix and label_in["name"].begins_with(priority_prefix): if priority_prefix and label_in["name"].begins_with(priority_prefix):
label_in["name"] = (label_in["name"] as String).replace(priority_prefix, "") label_in["name"] = (label_in["name"] as String).replace(priority_prefix, "")
tag_lists[BugbotTagArray.SEVERITY].append(label_in) priority_tag_list.append(label_in)
tag_lists[BugbotTagArray.VERSION].sort_custom(func(a,b):return a["id"] < b["id"]) version_tag_list.sort_custom(func(a,b):return a["id"] < b["id"])
tag_lists[BugbotTagArray.HARDWARE].sort_custom(func(a,b):return a["id"] < b["id"]) hardware_tag_list.sort_custom(func(a,b):return a["id"] < b["id"])
tag_lists[BugbotTagArray.OS].sort_custom(func(a,b):return a["id"] < b["id"]) os_tag_list.sort_custom(func(a,b):return a["id"] < b["id"])
tag_lists[BugbotTagArray.COMPONENT].sort_custom(func(a,b):return a["id"] < b["id"]) component_tag_list.sort_custom(func(a,b):return a["id"] < b["id"])
tag_lists[BugbotTagArray.SEVERITY].sort_custom(func(a,b): return a["id"] < b["id"]) priority_tag_list.sort_custom(func(a,b): return a["id"] < b["id"])
for tag:Dictionary in version_tag_list:
tag_lists[BugbotTagArray.VERSION].append(tag["name"])
for tag:Dictionary in hardware_tag_list:
tag_lists[BugbotTagArray.HARDWARE].append(tag["name"])
for tag:Dictionary in os_tag_list:
tag_lists[BugbotTagArray.OS].append(tag["name"])
for tag:Dictionary in component_tag_list:
tag_lists[BugbotTagArray.COMPONENT].append(tag["name"])
for tag:Dictionary in priority_tag_list:
tag_lists[BugbotTagArray.SEVERITY].append(tag["name"])
callback.call_deferred(tag_lists) callback.call_deferred(tag_lists)
__bugbot_server_thread.call_deferred("wait_to_finish") __bugbot_server_thread.call_deferred("wait_to_finish")

View File

@ -65,8 +65,8 @@ func __fill_item_list(menu_button:MenuButton, label_group:int):
else: else:
var menu : PopupMenu = menu_button.get_popup() var menu : PopupMenu = menu_button.get_popup()
for i in menu_options.size(): for i in menu_options.size():
menu.add_item(menu_options[i]["name"], i) menu.add_item(menu_options[i], i)
menu.id_pressed.connect(func(id:int): menu_button.text = menu_options[id]["name"]) menu.id_pressed.connect(func(id:int): menu_button.text = menu_options[id])
func _on_submit_button_pressed() -> void: func _on_submit_button_pressed() -> void: