@@ -53,6 +53,9 @@ Property namespaceLevelGitWebApp As %Boolean [ InitialExpression = {##class(Sour
5353/// Warn when an item has uncommitted changes in a different namespace in this instance
5454Property warnInstanceWideUncommitted As %Boolean [ InitialExpression = {##class (SourceControl.Git.Utils ).WarnInstanceWideUncommitted ()} ];
5555
56+ /// The name of the environment (DEVELOPMENT, TEST, LIVE)
57+ Property environmentName As %String (MAXLEN = " " ) [ InitialExpression = {##class (SourceControl.Git.Utils ).EnvironmentName ()} ];
58+
5659Property Mappings [ MultiDimensional ];
5760
5861Property favoriteNamespaces As %String [ InitialExpression = {##class (SourceControl.Git.Utils ).FavoriteNamespaces ()} ];
@@ -116,11 +119,19 @@ Method %Save() As %Status
116119 set @storage @(" settings" , " compileOnImport" ) = ..compileOnImport
117120 set @storage @(" settings" , " warnInstanceWideUncommitted" ) = ..warnInstanceWideUncommitted
118121 set @storage @(" settings" , " basicMode" ) = ..systemBasicMode
122+ set @storage @(" settings" , " environmentName" ) = ..environmentName
119123 if ..basicMode = " system" {
120124 kill @storage @(" settings" , " user" , $username , " basicMode" )
121125 } else {
122126 set @storage @(" settings" , " user" , $username , " basicMode" ) = ..basicMode
123127 }
128+ try {
129+ do $SYSTEM .Version .SystemMode (..environmentName )
130+ } catch e {
131+ // no-op; user might not have privileges.
132+ }
133+
134+
124135
125136 // update value of basicUserMode to reflect the updated setting for basicMode
126137 set ..userBasicMode = ##class (SourceControl.Git.Utils ).UserBasicMode ()
@@ -180,6 +191,13 @@ ClassMethod Configure() As %Boolean [ CodeMode = objectgenerator ]
180191 do %code .WriteLine (" if value = " " System's Default Mode" " { set value = " " system" " }" )
181192 do %code .WriteLine (" elseif value = " " Yes" " { set value = 1}" )
182193 do %code .WriteLine (" elseif value = " " No" " { set value = 0}" )
194+ } elseif ((propertyDef ) && (propertyDef .Name = " environmentName" )) {
195+ do %code .WriteLine (" set list(1) = " " DEVELOPMENT" " " )
196+ do %code .WriteLine (" set list(2) = " " TEST" " " )
197+ do %code .WriteLine (" set list(3) = " " LIVE" " " )
198+ do %code .WriteLine (" set list(4) = " " FAILOVER" " " )
199+ do %code .WriteLine (" set list(5) = " " " " " )
200+ do %code .WriteLine (" set response = ##class(%Library.Prompt).GetArray(" _promptQuoted _" ,.value,.list,,,," _defaultPromptFlag _" )" )
183201 } else {
184202 do %code .WriteLine (" set response = ##class(%Library.Prompt).GetString(" _promptQuoted _" ,.value,,,," _defaultPromptFlag _" )" )
185203 }
0 commit comments