aboutsummaryrefslogtreecommitdiff
path: root/go-src
diff options
context:
space:
mode:
authorSyndamia <kamen.d.mladenov@protonmail.com>2021-07-23 08:28:04 +0300
committerSyndamia <kamen.d.mladenov@protonmail.com>2021-07-23 08:28:04 +0300
commit0b281b813a9ab00d7c69eb140ab5ac2952987316 (patch)
treea4550195b02554b0cbfc91d6f48822353f4cfb59 /go-src
parent009b1f9e9ea3d7da6f20b6b521a162c935ca7b83 (diff)
downloadctfc-0b281b813a9ab00d7c69eb140ab5ac2952987316.tar
ctfc-0b281b813a9ab00d7c69eb140ab5ac2952987316.tar.gz
ctfc-0b281b813a9ab00d7c69eb140ab5ac2952987316.zip
Roughly implemented account name change
Diffstat (limited to 'go-src')
-rw-r--r--go-src/user.go17
-rw-r--r--go-src/windows.go15
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)