Fix: detach removed users from service observers
- detach users from InventoryManagementService observers during removal - detach users from PaymentManagementService observers during removal - detach users from ServiceManagementService observers during removal Fixes #1783
This commit is contained in:
+6
@@ -297,6 +297,9 @@ Return type: void
|
|||||||
*/
|
*/
|
||||||
void UserManagementService::removeUser(const std::string& userID)
|
void UserManagementService::removeUser(const std::string& userID)
|
||||||
{
|
{
|
||||||
|
InventoryManagementService inventoryManagementService;
|
||||||
|
PaymentManagementService paymentManagementService;
|
||||||
|
ServiceManagementService serviceManagementService;
|
||||||
int index = m_dataStore.getUsers().find(userID);
|
int index = m_dataStore.getUsers().find(userID);
|
||||||
if (index != -1)
|
if (index != -1)
|
||||||
{
|
{
|
||||||
@@ -304,6 +307,9 @@ void UserManagementService::removeUser(const std::string& userID)
|
|||||||
if (user != nullptr)
|
if (user != nullptr)
|
||||||
{
|
{
|
||||||
user->setState(util::State::INACTIVE);
|
user->setState(util::State::INACTIVE);
|
||||||
|
inventoryManagementService.detach(user);
|
||||||
|
paymentManagementService.detach(user);
|
||||||
|
serviceManagementService.detach(user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user