From 9497c44626f63f3a68a5d32a480539d29b21fe8a Mon Sep 17 00:00:00 2001 From: Raymond Rebbeck Date: Sat, 31 May 2025 21:58:43 +0930 Subject: [PATCH 1/3] Refresh the display after performing a revert or reset Previous code would generate an error due to 'workspaceView' being undefined. --- git-webui/release/share/git-webui/webui/js/git-webui.js | 4 ++-- git-webui/src/share/git-webui/webui/js/git-webui.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/git-webui/release/share/git-webui/webui/js/git-webui.js b/git-webui/release/share/git-webui/webui/js/git-webui.js index ee5a08c4..d6911a2f 100644 --- a/git-webui/release/share/git-webui/webui/js/git-webui.js +++ b/git-webui/release/share/git-webui/webui/js/git-webui.js @@ -1350,12 +1350,12 @@ webui.LogView = function(historyView) { if (type == 'revert') { webui.git_command(["revert", "--no-commit","HEAD"], function(output) { webui.showSuccess(output); - workspaceView.update(); + updateSideBar();; }); } else if (type == 'hardReset') { webui.git_command(["reset", "--hard", "HEAD~1"], function(output) { webui.showSuccess(output); - workspaceView.update(); + updateSideBar();; }); } diff --git a/git-webui/src/share/git-webui/webui/js/git-webui.js b/git-webui/src/share/git-webui/webui/js/git-webui.js index ee5a08c4..9fecac47 100644 --- a/git-webui/src/share/git-webui/webui/js/git-webui.js +++ b/git-webui/src/share/git-webui/webui/js/git-webui.js @@ -1350,12 +1350,12 @@ webui.LogView = function(historyView) { if (type == 'revert') { webui.git_command(["revert", "--no-commit","HEAD"], function(output) { webui.showSuccess(output); - workspaceView.update(); + updateSideBar(); }); } else if (type == 'hardReset') { webui.git_command(["reset", "--hard", "HEAD~1"], function(output) { webui.showSuccess(output); - workspaceView.update(); + updateSideBar(); }); } From 68815c18f3e649cc1336565555b4b3d66f5d8fa2 Mon Sep 17 00:00:00 2001 From: Raymond Rebbeck Date: Sat, 31 May 2025 22:11:40 +0930 Subject: [PATCH 2/3] Allow users to set basicMode even if settingsUIReadOnly is true Previously despite basicMode being editable on the settings screen it would not save when settingsUIReadOnly was true. The fact that it is grouped on the settings screen with the already editable and savable gitUserName and gitUserEmail settings suggests that basicMode is intended to be set by users and the inability to do is an oversight. --- csp/gitprojectsettings.csp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/csp/gitprojectsettings.csp b/csp/gitprojectsettings.csp index cb92fcb3..77274363 100644 --- a/csp/gitprojectsettings.csp +++ b/csp/gitprojectsettings.csp @@ -108,6 +108,16 @@ body { for param="gitUserName","gitUserEmail" { set $Property(settings,param) = $Get(%request.Data(param,1)) } + + // Users may set basicMode even if settingsUIReadOnly is true + if ($Get(%request.Data("basicMode", 1)) = 1) { + set settings.basicMode = 1 + } elseif ($Get(%request.Data("basicMode", 1)) = "system"){ + set settings.basicMode = "system" + } else { + set settings.basicMode = 0 + } + if ('settings.settingsUIReadOnly) { for param="gitBinPath","namespaceTemp","privateKeyFile","pullEventClass","percentClassReplace", "defaultMergeBranch","environmentName","mappingsToken" { set $Property(settings,param) = $Get(%request.Data(param,1)) @@ -125,14 +135,6 @@ body { set settings.decomposeProdAllowIDE = ($Get(%request.Data("decomposeProdAllowIDE", 1)) = 1) set settings.lockBranch = ($Get(%request.Data("lockBranch", 1)) = 1) - if ($Get(%request.Data("basicMode", 1)) = 1) { - set settings.basicMode = 1 - } elseif ($Get(%request.Data("basicMode", 1)) = "system"){ - set settings.basicMode = "system" - } else { - set settings.basicMode = 0 - } - if ($Get(%request.Data("systemBasicMode", 1)) = 1) { set settings.systemBasicMode = 1 } else { From e575e9bc88e6a9d09f22a352463fc86a14c53db1 Mon Sep 17 00:00:00 2001 From: Raymond Rebbeck Date: Sat, 31 May 2025 22:27:22 +0930 Subject: [PATCH 3/3] Do not attempt to set a new remote repo if 'remoteRepo' is not actually present in the request This may occur for example when settingsUIReadOnly is true where 'remoteRepo' is not user editable --- csp/gitprojectsettings.csp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/csp/gitprojectsettings.csp b/csp/gitprojectsettings.csp index 77274363..9ed384b9 100644 --- a/csp/gitprojectsettings.csp +++ b/csp/gitprojectsettings.csp @@ -185,12 +185,16 @@ body { kill buffer throw err } - set newRemote = $Get(%request.Data("remoteRepo",1)) - // If entry was modified and git repo is initialized, set new remote repo - set dir = ##class(%File).NormalizeDirectory(settings.namespaceTemp) - if (settings.namespaceTemp '= "") && ##class(%File).DirectoryExists(dir_".git") { - if (newRemote '= ##class(SourceControl.Git.Utils).GetRedactedRemote()) { - do ##class(SourceControl.Git.Utils).SetConfiguredRemote(newRemote) + // Do not attempt to set a new remote repo if 'remoteRepo' is not actually present in the request + // This may occur for example when settingsUIReadOnly is true where 'remoteRepo' is not user editable + if ($data(%request.Data("remoteRepo",1)) '= 0) { + set newRemote = $Get(%request.Data("remoteRepo",1)) + // If entry was modified and git repo is initialized, set new remote repo + set dir = ##class(%File).NormalizeDirectory(settings.namespaceTemp) + if (settings.namespaceTemp '= "") && ##class(%File).DirectoryExists(dir_".git") { + if (newRemote '= ##class(SourceControl.Git.Utils).GetRedactedRemote()) { + do ##class(SourceControl.Git.Utils).SetConfiguredRemote(newRemote) + } } } set successfullySavedSettings = 1