diff options
| -rw-r--r-- | go-src/user.go | 17 | ||||
| -rw-r--r-- | go-src/windows.go | 15 |
2 files changed, 29 insertions, 3 deletions
diff --git a/go-src/user.go b/go-src/user.go index 9ea269a..1456340 100644 --- a/go-src/user.go +++ b/go-src/user.go @@ -51,6 +51,21 @@ func updatePassword(oldPassword string, newPassword string) bool { if !validatePassword(loggedInUser.Username, oldPassword) { return false } - os.WriteFile(folderPaths.FileAtUsersFolder(loggedInUser.Username), []byte(loggedInUser.Username+"\n"+newPassword+"\n"+loggedInUser.Name), 755) + os.WriteFile( + folderPaths.FileAtUsersFolder(loggedInUser.Username), + []byte(loggedInUser.Username+"\n"+newPassword+"\n"+loggedInUser.Name), + 0644) + return true +} + +func updateName(password string, newName string) bool { + if !validatePassword(loggedInUser.Username, password) { + return false + } + os.WriteFile( + folderPaths.FileAtUsersFolder(loggedInUser.Username), + []byte(loggedInUser.Username+"\n"+password+"\n"+newName), + 0644) + loggedInUser.Name = newName return true } diff --git a/go-src/windows.go b/go-src/windows.go index f32d0a7..b88c224 100644 --- a/go-src/windows.go +++ b/go-src/windows.go @@ -249,8 +249,19 @@ func accountWindow(...string) { if !updatePassword(pass[0], pass[1]) { defer showError(invalidArgument, accountWindow) } else { - logoutUser() - defer StartupWindow() + defer accountWindow() + } + case 2: + newName := formWindow("Editing", accountWindow, + []formInput{ + {"Current password", inputBackSpec, nil}, + {"New name", "", stringValidName}, + }, + ) + if !updateName(newName[0], newName[1]) { + defer showError(invalidArgument, accountWindow) + } else { + defer accountWindow() } default: defer showError(invalidCommand, accountWindow) |
