From 3c3eab768ea8b2edc0a158aee8aba9c362fa06fd Mon Sep 17 00:00:00 2001 From: Alexis Degrugillier Date: Tue, 1 Jun 2021 08:16:33 -0400 Subject: Fix user creation form redirection (#3656) Before, when there was an error during the user creation process, the user was always redirected to the same page no matter where the creation process was initiated (registration or creation by an admin). Thus, there were no error messages displayed when something went bad during the creation process by an admin. Now, the origin of the user creation has been added to the form to be able to redirect the user to the proper page. --- app/Controllers/userController.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'app/Controllers/userController.php') diff --git a/app/Controllers/userController.php b/app/Controllers/userController.php index ec5e348c2..0b23ff953 100644 --- a/app/Controllers/userController.php +++ b/app/Controllers/userController.php @@ -287,25 +287,29 @@ class FreshRSS_user_Controller extends Minz_ActionController { $new_user_name = Minz_Request::param('new_user_name'); $email = Minz_Request::param('new_user_email', ''); $passwordPlain = Minz_Request::param('new_user_passwordPlain', '', true); + $badRedirectUrl = [ + 'c' => Minz_Request::param('originController', 'auth'), + 'a' => Minz_Request::param('originAction', 'register'), + ]; if (!self::checkUsername($new_user_name)) { Minz_Request::bad( _t('user.username.invalid'), - array('c' => 'auth', 'a' => 'register') + $badRedirectUrl ); } if (FreshRSS_UserDAO::exists($new_user_name)) { Minz_Request::bad( _t('user.username.taken', $new_user_name), - array('c' => 'auth', 'a' => 'register') + $badRedirectUrl ); } if (!FreshRSS_password_Util::check($passwordPlain)) { Minz_Request::bad( _t('user.password.invalid'), - array('c' => 'auth', 'a' => 'register') + $badRedirectUrl ); } @@ -315,21 +319,21 @@ class FreshRSS_user_Controller extends Minz_ActionController { if ($system_conf->force_email_validation && empty($email)) { Minz_Request::bad( _t('user.email.feedback.required'), - array('c' => 'auth', 'a' => 'register') + $badRedirectUrl ); } if (!empty($email) && !validateEmailAddress($email)) { Minz_Request::bad( _t('user.email.feedback.invalid'), - array('c' => 'auth', 'a' => 'register') + $badRedirectUrl ); } if ($tos_enabled && !$accept_tos) { Minz_Request::bad( _t('user.tos.feedback.invalid'), - array('c' => 'auth', 'a' => 'register') + $badRedirectUrl ); } -- cgit v1.2.3