From 0b281b813a9ab00d7c69eb140ab5ac2952987316 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Fri, 23 Jul 2021 08:28:04 +0300 Subject: Roughly implemented account name change --- go-src/user.go | 17 ++++++++++++++++- go-src/windows.go | 15 +++++++++++++-- 2 files changed, 29 insertions(+), 3 deletions(-) (limited to 'go-src') 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) -- cgit v1.2.3