diff --git a/CHANGELOG.md b/CHANGELOG.md index 480b2550..4a71bf64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Import All no longer deletes items that are mapped in from another database, which could delete Embedded Git itself where it is mapped instance-wide (#997) - A custom pull event handler stored in the repository is now loaded and compiled before it runs, so operations on a freshly built instance no longer fail with `` (#1000) +- IRIS BI Architect no longer throws `` error when no cube selected (#980) ## [2.17.1] - 2026-08-18 diff --git a/cls/SourceControl/Git/Utils.cls b/cls/SourceControl/Git/Utils.cls index d2bb11f3..f0575c14 100644 --- a/cls/SourceControl/Git/Utils.cls +++ b/cls/SourceControl/Git/Utils.cls @@ -1861,10 +1861,11 @@ ClassMethod ExportItem(InternalName As %String, expand As %Boolean = 1, force As quit $$$OK } -ClassMethod ItemIsProductionToDecompose(InternalName, Output productionName) +ClassMethod ItemIsProductionToDecompose(InternalName, Output productionName) As %Boolean { set settings = ##class(SourceControl.Git.Settings).%New() set name = $piece(InternalName,".",1,*-1) + return:name="" 0 set decomposeProduction = settings.decomposeProductions && (..Type(InternalName) = "cls") && ##class(SourceControl.Git.Production).IsProductionClass(name, "FullExternalName") if decomposeProduction { diff --git a/test/UnitTest/SourceControl/Git/Extension.cls b/test/UnitTest/SourceControl/Git/Extension.cls index c490e0ad..90164aa0 100644 --- a/test/UnitTest/SourceControl/Git/Extension.cls +++ b/test/UnitTest/SourceControl/Git/Extension.cls @@ -35,4 +35,14 @@ Method TestGeneratedFilesReadOnlyOption() $$$ThrowOnError(sc) } +/// DeepSee Architect calls UserAction with ".CLS" as the internal name when no cube is selected +Method TestUserActionEmptyClassName() +{ + set settings = ##class(SourceControl.Git.Settings).%New() + set settings.decomposeProductions = 1 + do settings.%Save() + do ##class(SourceControl.Git.Extension).%New("").UserAction(1,3,".CLS") + do $$$AssertSuccess("UserAction did not throw exception with empty class name") +} + }