Refactor out DummyBox objects from EditUser controller.

This commit is contained in:
Aaron van Geffen 2019-09-29 14:38:42 +02:00
parent d7b68995e8
commit 3694819d13

View File

@ -24,9 +24,8 @@ class EditUser extends HTMLController
// Adding a user?
if (isset($_GET['add']))
{
parent::__construct('Add a new user');
$view = new DummyBox('Add a new user');
$this->page->adopt($view);
$form_title = 'Add a new user';
parent::__construct($form_title);
$this->page->addClass('edituser');
}
// Deleting one?
@ -50,9 +49,8 @@ class EditUser extends HTMLController
else
{
$user = Member::fromId($id_user);
parent::__construct('Edit user \'' . $user->getFullName() . '\'');
$view = new DummyBox('Edit user \'' . $user->getFullName() . '\'');
$this->page->adopt($view);
$form_title = 'Edit user \'' . $user->getFullName() . '\'';
parent::__construct($form_title);
$this->page->addClass('edituser');
}
@ -122,8 +120,8 @@ class EditUser extends HTMLController
// Create the form, add in default values.
$form->setData($id_user ? $user->getProps() : $_POST);
$formview = new FormView($form);
$view->adopt($formview);
$formview = new FormView($form, $form_title);
$this->page->adopt($formview);
if (!empty($_POST))
{
@ -131,7 +129,7 @@ class EditUser extends HTMLController
// Anything missing?
if (!empty($form->getMissing()))
return $formview->adopt(new DummyBox('Some data missing', 'Please fill out the following fields: ' . implode(', ', $form->getMissing())));
return $formview->adopt(new Alert('Some data missing', 'Please fill out the following fields: ' . implode(', ', $form->getMissing()), 'error'));
$data = $form->getData();
@ -152,18 +150,18 @@ class EditUser extends HTMLController
// If it looks like an e-mail address...
if (!empty($data['emailaddress']) && !preg_match('~^[^ ]+@[^ ]+\.[a-z]+$~', $data['emailaddress']))
return $formview->adopt(new DummyBox('Email addresses invalid', 'The email address you entered is not a valid email address.'));
return $formview->adopt(new Alert('Email addresses invalid', 'The email address you entered is not a valid email address.', 'error'));
// Check whether email address is already linked to an account in the database -- just not to the account we happen to be editing, of course.
elseif (!empty($data['emailaddress']) && Member::exists($data['emailaddress']) && !($id_user && $user->getEmailAddress() == $data['emailaddress']))
return $formview->adopt(new DummyBox('Email address already in use', 'Another account is already using the e-mail address you entered.'));
return $formview->adopt(new Alert('Email address already in use', 'Another account is already using the e-mail address you entered.', 'error'));
// Setting passwords? We'll need two!
if (!$id_user || !empty($data['password1']) && !empty($data['password2']))
{
if (strlen($data['password1']) < 6 || !preg_match('~[^A-z]~', $data['password1']))
return $formview->adopt(new DummyBox('Password not acceptable', 'Please fill in a password that is at least six characters long and contains at least one non-alphabetic character (e.g. a number or symbol).'));
return $formview->adopt(new Alert('Password not acceptable', 'Please fill in a password that is at least six characters long and contains at least one non-alphabetic character (e.g. a number or symbol).', 'error'));
elseif ($data['password1'] !== $data['password2'])
return $formview->adopt(new DummyBox('Passwords do not match', 'The passwords you entered do not match. Please try again.'));
return $formview->adopt(new Alert('Passwords do not match', 'The passwords you entered do not match. Please try again.', 'error'));
else
$data['password'] = $data['password1'];
@ -175,7 +173,7 @@ class EditUser extends HTMLController
{
$return = Member::createNew($data);
if ($return === false)
return $formview->adopt(new DummyBox('Cannot create this user', 'Something went wrong while creating the user...'));
return $formview->adopt(new Alert('Cannot create this user', 'Something went wrong while creating the user...', 'error'));
if (isset($_POST['submit_and_new']))
{