Tag selection buttons now populate the form entry menu with available tags.

This commit is contained in:
Jamie Greunbaum
2024-05-23 17:00:41 -04:00
parent 64f6193701
commit ab74bda6f0
4 changed files with 50 additions and 48 deletions
+1
View File
@@ -2,6 +2,7 @@ class_name BugbotServerAPI
extends Resource
enum BugbotServerError { OK, THREAD_NULL, THREAD_BUSY, API_RESPONSE_ERROR }
enum BugbotTagArray { VERSION, HARDWARE, OS, COMPONENT, SEVERITY, MAX }
var __bugbot_server_thread : Thread
+17 -16
View File
@@ -132,11 +132,13 @@ func __prepare_form_thread(callback:Callable) -> void:
if __validate_server_response(response_data) != Error.OK:
return
var version_tags : Array
var hardware_tags : Array
var os_tags : Array
var component_tags : Array
var priority_tags : Array
var tag_lists : Array
tag_lists.resize(BugbotTagArray.MAX)
tag_lists[BugbotTagArray.VERSION] = Array()
tag_lists[BugbotTagArray.HARDWARE] = Array()
tag_lists[BugbotTagArray.OS] = Array()
tag_lists[BugbotTagArray.COMPONENT] = Array()
tag_lists[BugbotTagArray.SEVERITY] = Array()
var version_prefix : String = ProjectSettings.get_setting("bugbot/reporting/gitea/status_labels/version_label_prefix", DEFAULT_VERSION_LABEL_PREFIX)
var hardware_prefix : String = ProjectSettings.get_setting("bugbot/reporting/gitea/status_labels/hardware_label_prefix", DEFAULT_HARDWARE_LABEL_PREFIX)
var os_prefix : String = ProjectSettings.get_setting("bugbot/reporting/gitea/status_labels/os_label_prefix", DEFAULT_OS_LABEL_PREFIX)
@@ -144,22 +146,21 @@ func __prepare_form_thread(callback:Callable) -> void:
var priority_prefix : String = ProjectSettings.get_setting("bugbot/reporting/gitea/status_labels/priority_label_prefix", DEFAULT_PRIORITY_LABEL_PREFIX)
for label_in:Dictionary in response_data:
if version_prefix and label_in["name"].begins_with(version_prefix):
version_tags.append(label_in)
tag_lists[BugbotTagArray.VERSION].append(label_in)
if hardware_prefix and label_in["name"].begins_with(hardware_prefix):
hardware_tags.append(label_in)
tag_lists[BugbotTagArray.HARDWARE].append(label_in)
if os_prefix and label_in["name"].begins_with(os_prefix):
os_tags.append(label_in)
tag_lists[BugbotTagArray.OS].append(label_in)
if component_prefix and label_in["name"].begins_with(component_prefix):
component_tags.append(label_in)
tag_lists[BugbotTagArray.COMPONENT].append(label_in)
if priority_prefix and label_in["name"].begins_with(priority_prefix):
priority_tags.append(label_in)
version_tags.sort_custom(func(a,b):return a["id"] < b["id"])
hardware_tags.sort_custom(func(a,b):return a["id"] < b["id"])
os_tags.sort_custom(func(a,b):return a["id"] < b["id"])
component_tags.sort_custom(func(a,b):return a["id"] < b["id"])
priority_tags.sort_custom(func(a,b): return a["id"] < b["id"])
tag_lists[BugbotTagArray.SEVERITY].append(label_in)
tag_lists[BugbotTagArray.VERSION].sort_custom(func(a,b):return a["id"] < b["id"])
tag_lists[BugbotTagArray.HARDWARE].sort_custom(func(a,b):return a["id"] < b["id"])
tag_lists[BugbotTagArray.OS].sort_custom(func(a,b):return a["id"] < b["id"])
tag_lists[BugbotTagArray.COMPONENT].sort_custom(func(a,b):return a["id"] < b["id"])
tag_lists[BugbotTagArray.SEVERITY].sort_custom(func(a,b): return a["id"] < b["id"])
var tag_lists : Array = [version_tags, hardware_tags, os_tags, component_tags, priority_tags]
callback.call_deferred(tag_lists)
__bugbot_server_thread.call_deferred("wait_to_finish")