diff --git a/src/include/add-on/add-on-workflow.rb b/src/include/add-on/add-on-workflow.rb
index dea6f34..3d6fb58 100755
--- a/src/include/add-on/add-on-workflow.rb
+++ b/src/include/add-on/add-on-workflow.rb
@@ -1171,49 +1171,30 @@ def ReturnCurrentlySelectedProductInfo
end
def AdjustInfoWidget
- pi = ReturnCurrentlySelectedProductInfo()
- if pi.nil? || pi == {}
+ product_info = ReturnCurrentlySelectedProductInfo()
+
+ if product_info.to_h.empty?
UI.ChangeWidget(Id("product_details"), :Value, "")
+
return
end
- vendor = pi["product"].vendor.empty? ? _("Unknown vendor") : pi["product"].vendor
- version = pi["product"].version.empty? ? _("Unknown version") : pi["product"].version
- rt_description = Builtins.sformat(
- "
%1\n%2\n%3\n%4
",
- Builtins.sformat(
- _("Vendor: %1
"),
- vendor
- ),
- Builtins.sformat(
- _("Version: %1
"),
- version
- ),
- if Ops.greater_than(
- Builtins.size(Ops.get_list(pi, ["info", "URLs"], [])),
- 0
- )
- Builtins.sformat(
- _("Repository URL: %1
"),
- Builtins.mergestring(Ops.get_list(pi, ["info", "URLs"], []), ",")
- )
- else
- ""
- end,
- if Ops.greater_than(
- Builtins.size(Ops.get_list(pi, ["info", "aliases"], [])),
- 0
- )
- Builtins.sformat(
- _("Repository Alias: %1
"),
- Builtins.mergestring(Ops.get_list(pi, ["info", "aliases"], []), ",")
- )
- else
- ""
- end
- )
+ product = product_info["product"]
+ info = product_info["info"] || {}
+
+ vendor = product.vendor.empty? ? _("Unknown vendor") : product.vendor
+ version = product.version.empty? ? _("unknown version") : product.version
+ urls = info.fetch("URLs", []).join(",")
+ aliases = info.fetch("aliases", []).join(",")
+
+ details = []
+ details << format(_("Vendor: %s
"), vendor)
+ details << format(_("Version: %s
"), version)
+ details << format(_("Repository URL: %s
"), urls) unless urls.empty?
+ details << format(_("Repository Alias: %s
"), aliases) unless aliases.empty?
+
- UI.ChangeWidget(Id("product_details"), :Value, rt_description)
+ UI.ChangeWidget(Id("product_details"), :Value, "#{details.join("\n")}
")
nil
end