Skip to content

Commit 930de0c

Browse files
committed
Fix issues and secure Favorites class
1 parent 5f528a4 commit 930de0c

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

cls/_zpkg/isc/sc/git/Favorites.cls

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@ Class %zpkg.isc.sc.git.Favorites
33
ClassMethod ConfigureFavoriteNamespaces(username As %String, newNamespaces As %Library.DynamicObject)
44
{
55
// Convert to $listbuild
6-
set namespaces = $lb("")
7-
for i=0:1:newNamespaces.%Size() {
8-
set namespaces = namespaces_$lb(newNamespaces.%Get(i))
6+
set namespaces = $lb()
7+
set iterator = newNamespaces.%GetIterator()
8+
9+
while iterator.%GetNext(.key, .value) {
10+
set namespaces = namespaces_$lb(value)
911
}
12+
1013
// Call the private method
1114
try {
1215
do ..SetFavs(username, namespaces)
@@ -28,7 +31,7 @@ ClassMethod GetFavoriteNamespaces(ByRef favNamespaces As %DynamicArray, ByRef no
2831
return $$$OK
2932
}
3033

31-
ClassMethod GetFavs() As %Library.DynamicObject [Private] {
34+
ClassMethod GetFavs() As %Library.DynamicObject [ Private, NotInheritable ] {
3235
$$$AddAllRoleTemporary
3336
set allNamespaces = ##class(SourceControl.Git.Utils).GetContexts(1)
3437

@@ -62,7 +65,7 @@ ClassMethod GetFavs() As %Library.DynamicObject [Private] {
6265
return {"Favorites": (favNamespaces), "NonFavorites": (nonFavNamespaces)}
6366
}
6467

65-
ClassMethod SetFavs(username As %String, namespaces As %List) [Private] {
68+
ClassMethod SetFavs(username As %String, namespaces As %List) [ Private, NotInheritable ] {
6669
$$$AddAllRoleTemporary
6770
&sql(DELETE FROM %SYS_Portal.Users WHERE Username = :username AND Page LIKE '%Git%')
6871

0 commit comments

Comments
 (0)