Implement random password generation (create/edit account)

This commit is contained in:
Lexi / Zoe 2021-09-16 19:55:38 +02:00
parent 48925f283f
commit 2ccee2169b
Signed by: binaryDiv
GPG key ID: F8D4956E224DA232
9 changed files with 127 additions and 54 deletions

View file

@ -71,13 +71,14 @@ class AccountController extends BaseController
try {
// Validate input
$validatedCreateData = AccountCreateData::createFromArray($createData);
$newAccountId = $this->accountHandler->createNewAccount($validatedCreateData);
$createResult = $this->accountHandler->createNewAccount($validatedCreateData);
// Save success result
$newAccountName = $validatedCreateData->getUsername();
$this->sessionHelper->setLastActionResult(ActionResult::createSuccessResult(
'Account <a href="/accounts/' . $newAccountId . '">' . $newAccountName . '</a> was created.'
));
$successMessage = "Account <a href=\"/accounts/{$createResult['id']}\">{$createResult['username']}</a> was created.";
if (!empty($createResult['generatedPassword'])) {
$successMessage .= "\nThe password generated for this account is: <i>{$createResult['generatedPassword']}</i>";
}
$this->sessionHelper->setLastActionResult(ActionResult::createSuccessResult($successMessage));
} catch (InputValidationError $e) {
// Save error result
$this->sessionHelper->setLastActionResult(ActionResult::createErrorResult($e->getMessage(), $createData));
@ -116,10 +117,14 @@ class AccountController extends BaseController
try {
// Validate input
$validatedEditData = AccountEditData::createFromArray($editData);
$this->accountHandler->editAccountData($accountId, $validatedEditData);
$editResult = $this->accountHandler->editAccountData($accountId, $validatedEditData);
// Save success result
$this->sessionHelper->setLastActionResult(ActionResult::createSuccessResult('Account data was saved.'));
$successMessage = "Account data was saved.";
if (!empty($editResult['generatedPassword'])) {
$successMessage .= "\nThe new password generated for this account is: <i>{$editResult['generatedPassword']}</i>";
}
$this->sessionHelper->setLastActionResult(ActionResult::createSuccessResult($successMessage));
} catch (InputValidationError $e) {
// Save error result
$this->sessionHelper->setLastActionResult(ActionResult::createErrorResult($e->getMessage(), $editData));