Fix Update Profile and User Validation Issues
- Included Validator.h in UserManagementService.cpp for duplicate checks. - Enhanced updateUserDetails in UserManagementService to validate: - Throw error if user does not exist. - Throw error if email already exists among active users. - Throw error if phone number already exists among active users. - Implemented new duplicate validation functions in Validator.cpp: - isUsernameDuplicate - isPhoneDuplicate - isEmailDuplicate - Declared new duplicate validation functions in Validator.h. - Updated CustomerMenu::updateDetails: - Added "Update Details" header for clarity. - Improved error messages with newline formatting. - Added success message with newline formatting. Fixes #1746
This commit is contained in:
@@ -143,12 +143,14 @@ Return type: void
|
||||
void CustomerMenu::updateDetails()
|
||||
{
|
||||
std::string email, phone;
|
||||
util::Map<std::string, const User*> userList = m_controller.getUsers();
|
||||
util::clear();
|
||||
std::cout << "Update Details\n";
|
||||
std::cout << "Enter new email: ";
|
||||
util::read(email);
|
||||
if (!util::isEmailValid(email))
|
||||
{
|
||||
std::cout << "Error: Email is invalid!";
|
||||
std::cout << "Error: Email is invalid!\n";
|
||||
util::pressEnter();
|
||||
return;
|
||||
}
|
||||
@@ -156,12 +158,12 @@ void CustomerMenu::updateDetails()
|
||||
util::read(phone);
|
||||
if (!util::isPhoneNumberValid(phone))
|
||||
{
|
||||
std::cout << "Error: Phone number is invalid!";
|
||||
std::cout << "Error: Phone number is invalid!\n";
|
||||
util::pressEnter();
|
||||
return;
|
||||
}
|
||||
m_controller.updateUserDetails(email, phone);
|
||||
std::cout << "Profile details updated successfully";
|
||||
std::cout << "Profile details updated successfully\n";
|
||||
util::pressEnter();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user