Skip to content

Commit 422886d

Browse files
Davnitcarlbennett
authored andcommitted
Check if username taken on register
Returns a more detailed message to the user instead of the generic server error.
1 parent ef03903 commit 422886d

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

src/controllers/User/Register.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,13 @@ protected function tryRegister(Router &$router, UserRegisterModel &$model) {
136136
return;
137137
}
138138
} catch (UserNotFoundException $e) {}
139+
140+
try {
141+
if (User::findIdByUsername($username)) {
142+
$model->error = "USERNAME_TAKEN";
143+
return;
144+
}
145+
} catch (UserNotFoundException $e) {}
139146

140147
try {
141148

src/templates/User/Register.phtml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ switch ($this->getContext()->error) {
7070
$af = "email";
7171
$message = "The email address is already in use, use another.";
7272
break;
73+
case "USERNAME_TAKEN":
74+
$af = "username";
75+
$message = "That username is taken, try another.";
76+
break;
7377
case "INTERNAL_ERROR":
7478
$af = null;
7579
$message = "An internal error occurred while processing your request. "

0 commit comments

Comments
 (0)